So führen Sie mein Skript auf einer VM aus

So führen Sie mein Skript auf einer VM aus

Ich habe ein Skript auf meiner virtuellen Maschine, das ich ausführen möchte, ohne[]$ ./myscript

[studentuser@CentosStudentSvr ~]$ myscript

-bash: iduser: Befehl nicht gefunden

andernfalls tritt ein Fehler auf:

-bash: iduser: command not found

wie kann ich es reparieren?

Danke

Antwort1

Wenn Sie myscriptdann eingeben, sucht Ihre Shell in Ihrem PATH nach dem Befehl mit dem Namen myscript. Anders als bei Windows befindet sich Ihr aktuelles Verzeichnis standardmäßig nicht in Ihrem Pfad.

Das bedeutet, dass Sie entweder:

  1. füge es vorerst deinem Pfad hinzu (gemeinschaftlich)
  2. fügen Sie es bei jedem Start zu Ihrem Pfad hinzu (bearbeiten Sie das Startskript in Ihrem Ordner. Welches, hängt von der verwendeten Shell ab. Oft .profile oder .bashsomething)
  3. Oder geben Sie den vollständigen Pfad zur Binärdatei an. Beispiel: ./iduseroder /home/user229525/iduser.

Wenn sich das aktuelle Verzeichnis ( .) bereits in Ihrem Pfad befindet, überprüfen Sie Ihr Programm.

  • Ist es ausführbar? (ls -l, suche nach dem xin rwx)
  • Wenn es ein Skript ist, beginnt es mit einem Shebang? (ist z. B. die erste Zeile #!/usr/bin/env bash?)

Antwort2

Bash sucht in den in der Variable $PATH aufgelisteten Pfaden nach den „Befehlen“. Verschieben Sie das Skript in den /usr/binoder einen anderen in $PATH genannten Ordner (oder fügen Sie den Ordner, in dem sich das Skript befindet, zu $PATH hinzu).

Sie können auch einen Alias ​​für die laufende Bash definieren alias myscript="bash /path/to/script/myscript". (Bitte überprüfen Sie die Syntax selbst, ich bin mir im Moment nicht sicher.)

verwandte Informationen