• Es gibt nach dem Softwareupdate eine Reihe von Änderungen und Neuerungen in unserem Forum. Genaueres dazu findet Ihr in dieser Ankündigung. Hinweise, Kritik, Anregungen, Lob und Tadel bitte hier diskutieren.

.sh skript ablegen

novski

Carola
Mitglied seit
02.09.09
Beiträge
111
Ich habe ein xy.sh skript das ich ausführen kann wenn ich mit dem terminal in den ordner navigiere in dem es liegt und es als xy.sh aufrufe. Nun kann ich es auch einfach in meinen user ordner legen und habe es dann gleich beim öffnen des terminals mit xy.sh zugänglich aber ich frage mich ob das der richtige umgang ist oder ob terminal skripts irrgendwo sonnst im system abgelegt werden können wo terminal sie auch direkt findet...
gibts das?
 

Chrysaor1024

Alkmene
Mitglied seit
15.12.16
Beiträge
31
Warum sollte ich Skripte im bin-Ordner ablegen, wenn sie doch keine "binaries" sind?
 

ottomane

Graue Französische Renette
Mitglied seit
24.08.12
Beiträge
12.167
Alles falsch ;)

Ich lege ein Skripte-Verzeichnis unter meinem Userordner an und speichere das Skript dort ab. Dann erzeuge ich einen symbolischen Link auf das Skript unter /usr/local/bin

So findest du deine eigenen Dinge immer wieder und kannst sie zentral warten. Und sie sind ohne Änderung an der PATH-Variablen immer aufrufbar. Wenn man mal in /usr/local/bin reinguckt, stelt man fest, dass das der Weg ist, den auch andere beschreiten.
 

Chrysaor1024

Alkmene
Mitglied seit
15.12.16
Beiträge
31
Und was passiert mit einem zweiten Nutzer, der dein Script ausführen will, aber der Symlink verweist auf ein Verzeichnis, das für Ihn nicht lesbar ist, da es dein Userverzeichnis ist? Hättest du das Userverzeichnis weg gelassen, würde ich dir recht geben :)!
 

Marcel Bresink

Stahls Winterprinz
Mitglied seit
28.05.04
Beiträge
5.150
Warum sollte ich Skripte im bin-Ordner ablegen, wenn sie doch keine "binaries" sind?
Auch wenn in den bin-Ordnern historisch gesehen vor über 40 Jahren nur Programme im Binärcode waren, so wird dies heute als Oberbegriff für alle ausführbaren Programme gesehen, egal ob sie in Maschinencode oder als Skript formuliert sind. Viele Bestandteile des Betriebssystems sind in Wirklichkeit Skripte, z.B. /usr/bin/wait.

Gemäß Filesystem Hierarchy Standard ist /usr/local/bin der korrekte Ordner für ausführbare Benutzerprogramme, die der lokalen Systeminstallation hinzugefügt wurden.
 

Rastafari

deaktivierter Benutzer
Mitglied seit
10.03.05
Beiträge
18.151
Und eine weitere Anmerkung:
Im Benutzerordner sind Skripte schlecht aufgehoben.
Zum einen legt man ausführbaren Code prinzipiell nur dort ab, wo ordinäre Benutzer keine Schreibrechte besitzen - aus grundsätzlichen Sicherheitsbedenken.
Zum anderen können die Inhalte der Benutzerordner schon mal auf entfernten Servern liegen - auf Netzfreigaben, auf denen gerne jegiche Programmausführung durch die mount-Option "noexec" unterdrückt wird. Dann läuft da gar nix.
Schlechter Stil, sowas.
 
  • Like
Wertungen: Wuchtbrumme

Wuchtbrumme

Kasseler Renette
Mitglied seit
03.05.10
Beiträge
12.082
genau. Solche Locations haben schon ihren Sinn, sind gewachsen aber auch relativ gut dokumentiert. Unixoid halt, sauber.

Aber unabhängig davon mag ich noch eine Anekdote über Zertifikate erzählen.
Ich hatte früher auf dem OS X Server die Zertifikate für https usw. irgendwo abgelegt. Mit jedem OS Update waren die Zertifikate weg und ich habe mich gewundert. Sie gehören nach /etc/certificates und OS X hat das wohl enforced. Man tut also gut daran, keine "Unordnung" aufzubauen, ohne zu wissen, wie das alles zusammenhängt.
 
  • Like
Wertungen: doc_holleday

ottomane

Graue Französische Renette
Mitglied seit
24.08.12
Beiträge
12.167
Im Benutzerordner sind Skripte schlecht aufgehoben.
Das verstehe ich, finde es aber unübersichtlich. Und wir wissen nicht, um welches Skript es sich handelt. Ich könnte mir durchaus Skripte vorstellen, die ausschließlich für einen bestimmten User gedacht sind und andere User nichts angehen. Dann gehören sie m.E. schon ins User-Verzeichnis (natürlich dann aber ohne Symlink).

EDIT: Auf einem wirklichen Mehrbenutzersystem würde ich, wenn ich Admin wäre, rotieren, wenn alle User ihre Aufräum-, Backup- oder Entwicklungsskripts unter /user/local/bin ablegen würden. Nein, bei genauerer Betrachtung fühlt sich das nicht gut an.
 
Zuletzt bearbeitet: