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.