Sie müssen das Skript in ein Verzeichnis kopieren oder verlinken, das sich auf dem $PATH befindet. Normalerweise /usr/bin
und /usr/local/bin/
befinden sich auf dem Pfad, also sind dies gute Orte, um das Skript zu verlinken oder dorthin zu kopieren.
ln -s /path/to/your/script /usr/local/bin
Wenn Sie nicht root sind, müssen Sie entweder sudo
diesen Befehl oder führen Sie ihn als Root-Benutzer aus.
Eine Möglichkeit besteht darin, einfach den Pfad zum Skript einzugeben:
~/Desktop/script
Das funktioniert gut, wird aber etwas unhandlich.
Dafür steht die PATH
Umgebungsvariable ist für. Und es ist was $HOME/bin
ist für.
- Erstellen Sie sich ein Verzeichnis
$HOME/bin
. Legen Sie alle Ihre ausführbaren Skripte darin ab (machen Sie sie mitchmod +x script
ausführbar wenn nötig). Auf diese Weise gibt es einen Ort, an dem Sie nach den Skripts suchen können, die Sie ausführen möchten. - Fügen Sie
$HOME/bin
hinzu zu IhremPATH
. Ich habe meine nach vorne gesetzt:PATH="$HOME/bin:$PATH
, aber Sie können es auch hinten anbringen, wenn Sie möchten. - Aktualisieren Sie Ihren
.profile
oder.bash_profile
(oder möglicherweise.bashrc
)-Datei zum Festlegen vonPATH
. Hüten Sie sich jedoch vor einem ständig wachsenden PATH.
Wie tripleee angemerkt hat, sobald der Befehl in einem Verzeichnis auf PATH
installiert ist , geben Sie nicht mehr ./script
ein , sondern nur script
. Das ist genau so, als würden Sie ls
eingeben und nicht /bin/ls
usw. Sobald das Programm in einem Verzeichnis auf Ihrem PATH
installiert ist , ist es (für viele Zwecke) nicht von einem vom System bereitgestellten Befehl zu unterscheiden.
Ich habe ungefähr 500 Skripte und Programme in meinem $HOME/bin
Verzeichnis.
Beachten Sie, dass hierfür keine besonderen Berechtigungen erforderlich sind. Wenn Sie Administratorzugriff auf Ihren Computer haben und der Meinung sind, dass andere Benutzer Ihre Befehle nützlich finden könnten, können Sie die Skripte/Programme in einem der vom System bereitgestellten Verzeichnisse auf Ihrem PATH
installieren . Es ist jedoch normalerweise am besten, keine Programme zu folgenden hinzuzufügen:
/bin
/usr/bin
/sbin
/usr/sbin
Dort steht oft/normalerweise /usr/local/bin
Dies ist ein geeigneter Ort für häufig verwendete Befehle, die nicht vom System bereitgestellt werden.
Es wäre besser, chmod a+x,go-w script
zu verwenden; Ihre Skripte sollten nicht von anderen Personen beschreibbar sein. Sie könnten sogar einfach chmod 555 script
verwenden oder chmod 755 script
. Ich neige dazu, meine Skripte nicht beschreibbar zu halten. Auf diese Weise muss ich einen formalen Änderungsprozess mit dem Versionskontrollsystem durchlaufen. Das bedeutet, dass die Gefahr unkontrollierter Änderungen geringer ist.