Benutzerdefinierte Scripte speichern - wo?

Hallo,
in welchem Verzeichnis auf Linux sollte man seine Scripte speichern, sollte man . voran und .sh hinter stellen? Wie kann ich es denn Terminal bekannt machen (Tabulator)?
Danke

%HOME/.bin ist ein guter Ort.
Da sucht auch die Vervollständigung

ob mit “.sh” Suffix oder ohne ist reine geschmacssache, haupsache die Scripte sind “ausfürhbar” gesetzt.

bye
TT

Dankeschön.
kannst du knapp erklären,
./programm.sh
. programm.sh
oder nur programm.sh , wenn mit +x gesetzt?

Aber eine Binärdatei ist es ja streng genommen nicht.

Abgesehen von $HOME/.bin kann man auch andere Verzeichnisse im Home-Directory verwenden und diese dann zum PATH hinzufügen.

Ein Unterverzeichnis von $HOME/.bin ist gut wenn man mehrere Skripte zu einem Thema hat und diese in einer Versionsverwaltung (Git/Github) versionieren möchte. Allerdings muss man dann dieses Unterverzeichnis zum PATH hinzufügen.

./programm.sh braucht man nur, wenn das Programm im selben Verzeichnis liegt.
Liegt das Skript im PATH, dann reicht auch ein programm.sh zum ausführen.

[quote=Unregistered]oder nur programm.sh , wenn mit +x gesetzt?

Aber eine Binärdatei ist es ja streng genommen nicht.[/quote]wenn das programm nicht +x gesetzt ist muss es als parameter eines Shell-Aufrufs geschrieben werden:

bash programm.sh

./programm.sh hat ja @Unregistriert schon erklärt.

. programm.sh (also mit leerzeichen zwischen . und programm.sh) geht gar nicht, weil . kein bekanntes Programm ist.

.programm.sh betrachtet Linux (wie andere unixoide Betriebssysteme) als versteckte Datei, die nur mit besonderen Parametern angezeigt werden (ls -a)

bye
TT

Danke, ihr konntet mir weiterhelfen. Versionsverwaltung und was passiert, wenn man ein Script “startet”, muss ich mir noch einmal ansehen.

Wohl eher „$HOME/bin“ ($ wird bei Unix zur Dereferenzierung verwendet, nicht %) bzw. „~/bin“ und der Punkt vor bin versteckt das Verzeichnis. Habe mir das gerade auf Solaris angeschaut, da ist es nur „bin“ ohne „.“ Linux schaue ich heute Abend mal…