GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wo ist ein guter dauerhafter Ort, um benutzerdefinierte Bash-Skripte zu installieren?

Lösung 1:

(Hinweis:~ übersetzt als /home/user in diesem Beitrag)

Ich persönlich habe alle meine selbst erstellten Systemskripte in /usr/local/bin abgelegt und alle meine persönlichen Bash-Skripte in ~/bin . Sehr wenige Programme, die ich installiere, platzieren sich selbst in /usr/local/bin Verzeichnis, also ist es nicht sehr überladen und es war bereits im $PATH Variable auf den meisten meiner Maschinen.

Um /usr/local/bin hinzuzufügen zu Ihrem Systempfad (falls noch nicht vorhanden) fügen Sie dies zu /etc/profile hinzu :

PATH=$PATH:/usr/local/bin
export PATH

Um ~/bin hinzuzufügen zum Pfad Ihres Benutzers fügen Sie dies zu ~/.bash_profile hinzu :

PATH=$PATH:$HOME/bin
export PATH

Manchmal die Voreinstellung .bash_profile Datei wird eine if-Anweisung haben, die automatisch ~/bin hinzufügt bis $PATH falls vorhanden, erstellen Sie den ~/bin und öffnen Sie ein neues Terminal, um zu sehen, ob Ihres dies bereits tut.

Lösung 2:

/usr/local/ ist wirklich der richtige Ort, während /opt eigentlich für Anwendungen von Drittanbietern ist; "/opt ist für die Installation zusätzlicher Anwendungssoftwarepakete reserviert." Dies ist Teil des Filesystem Hierarchy Standards.

Siehe http://www.pathname.com/fhs/pub/fhs-2.3.html für Diskussionen zu /opt.

Für /usr/local/ ist es für die "Verwendung durch den Systemadministrator". Vergiss nur nicht, was da drin ist – dokumentiere es.

Lösung 3:

Früher würden Sie so etwas wie /opt verwenden. Alles ist in Ordnung, solange es in $PATH für die Benutzer aktualisiert wird, die es haben sollen (daher ist alles in /home eine schlechte Idee).

Lösung 4:

/usr/share/clojure scheint ein üblicher Ort zu sein, um die Binärdateien und Bibliotheken von clojure abzulegen – warum weiß ich nicht, es scheint eine Selbstverständlichkeit für /usr/local/share/clojure zu sein – also einen site erstellen Unterverzeichnis darunter für diese Bash-Skripte scheint in Ordnung zu sein.

Der allgemeine Punkt ist, dass es sinnvoller ist, Skripte nach Funktion zu organisieren und nicht alle Bash-Skripte am selben Ort zu haben.

Lösung 5:

/usr/local , ich glaube, die Bedeutung von "lokal" ist etwas verwirrend.

So wie ich es verstehe, bedeutet "lokal" nicht "auf/von der lokalen Maschine stammend", sondern einfacher "spezifisch für die lokale Maschine", was auf/von der lokalen Maschine stammen kann oder nicht.


Linux
  1. Fehlerbehandlung in Bash-Skripten

  2. Bash-Skripte beim Betreten eines Verzeichnisses ausführen?

  3. Wo ist Mono Ide?

  4. Verwenden des Linux-Sleep-Befehls in Bash-Skripten

  5. Verwenden des Linux-Basisnamenbefehls in Bash-Skripten

So erstellen Sie Dokumente mit Bash-Skripten

So verwenden Sie den Echo-Befehl in Bash-Skripten unter Linux

So installieren Sie Linux Bash Shell unter Windows 10

Verwenden des Linux-Dirname-Befehls in Bash-Skripten

Bash-Anfängerserie Nr. 3:Übergabe von Argumenten an Bash-Skripte

Lernen Sie Multithreading-Bash-Skripte mit GNU Parallel