Der Titel sagt alles. Ich möchte "run" in die Befehlszeile eingeben und es würde /pathtoscript/script.sh ausführen.
Danke!
Antwort1
Erstellen Sie eine Datei run
mit dem Namen und dem Inhalt:
#!/bin/sh
exec /pathtoscript/script.sh "$@"
Platzieren Sie die Datei in Ihrem Pfad und setzen Sie das Ausführbare-Bit.
Was ist „Ihr Weg“?
Geben Sie in der Befehlszeile Folgendes ein:
echo $PATH
Sie sehen eine durch Doppelpunkte getrennte Liste von Verzeichnissen. Dies sind die Verzeichnisse, die die Shell durchsucht, wenn sie nach einem auszuführenden Befehl sucht. Sie werden zusammen als Pfad bezeichnet. Sie sollten Ihre neue Datei run
in einem dieser Verzeichnisse ablegen.
Alternativer Ansatz für interaktives Arbeiten
Wenn Sie nur run
arbeiten möchten, wenn Sie interaktiv arbeiten, können Sie einen Alias erstellen:
alias run=/pathtoscript/script.sh
Wenn Sie diesen Alias dauerhaft speichern möchten, fügen Sie diese Zeile in .bashrc
Ihr Home-Verzeichnis ein.
Antwort2
In *nix-Shells geschieht dies durch das Hinzufügen einesausführbare Datei(oder symbolischer Link zu einer ausführbaren Datei) zu einem derVerzeichnisseaufgelistet inDie PATH
Variable. Aus einer hypothetischen Sitzung:
$ which foo
which: no foo in (/usr/local/sbin:/usr/local/bin:/usr/bin)
$ foo
bash: foo: command not found
$ echo "$PATH"
/usr/local/sbin:/usr/local/bin:/usr/bin
$ sudo ln -s /path/to/my/script /usr/local/bin/foo
$ foo
[whatever your script prints]