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 scriptausfü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/binhinzu 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
.profileoder.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.