Sebastian
Sr. Member
Offline
Einträge: 487
|
|
Wie interpretiert die Shell eure Befehle
« am: 13. November 2023, 20:19:43 »
|
|
Einführung
Ich möchte hier noch einmal aufzeigen, wie die Shell eure Befehle interpretiert. Da es wichtig ist zu verstehen wie die einzelnen Abschnitte in eueren Terminal heißen und wann ein Leerzeichen angebracht ist und wann nicht.
Anatomie eines Befehls
Zuerst folgt dabei euer Prompt, in diesem steht häufig der Name des Computers und euer Benutzername und manchmal auch noch das Verzeichnis wo ihr euch befindet. Grundsätzlich kann dieser Prompt aber nach euren Bedürfnissen angepasst werden und ganz andere Informationen euch anzeigen, da gibt es sehr viele Möglichkeiten.
Danach gebt ihr einen Befehl (command) ein. Das ist ein Programm/Script/Funktion, was auch immer auf euren PC eine Aufgabe erledigen soll.
Das Verhalten dieses Programms könnt ihr unter Umständen mit sogenannten Optionen beeinflussen. Diese Optionen sind von Programm zu Programm unterschiedlich. Zwar verwenden Entwickler häufig die gleichen Buchstaben für ihre Optionen die dasselbe bzw. ungefähr dasselbe bewirken wie bei anderen Programmen (weil auch diese, es so gewohnt sind), aber das muss nicht die Regel sein. Welche Optionen es gibt und welche Bedeutungen diese haben, liest man am besten im Handbuch des Befehls nach (Erinnert euch an den man Befehl).
Zu guter Letzt folgt dann ein Argument, dieses Argument kann sich dabei entweder auf den Befehl beziehen oder aber auch vielleicht auf eine Option, falls die Option dies erfordert. Angenommen, die Option -f steht für file und erwartet einen Dateinamen dahinter. Dann bezieht sich das Argument in diesem Moment auf die Option -f. Brauch die Option -f jetzt aber kein Argument, weil diese Option vielleicht nur ein Verhalten an bzw. ausschaltet. Dann würde sich das Argument auf den Hauptbefehl beziehen, der vielleicht mehr Angaben brauch. z.B. mkdir benötigt als Argument einen Ordnernamen, damit es weiß welchen Ordner es erstellen soll.
Damit die Shell nun weis, wann der Befehlsname, die Option, das Argument etc. zu Ende ist, verwendet die Shell standardmäßig Leerzeichen und Tabulatoren als Trennzeichen. Deswegen müsst ihr besonders bei Dateinamen, die Leerzeichen besitzen acht geben, eurer Shell zu sagen, dass dies alles noch zum Dateinamen gehört, indem ihr den ganzen Dateinamen in Gänsefüßchen ("Meine Tolle Datei.txt") setz. Dies gilt dabei nicht nur für Dateinamen, sondern, auch wenn ein Befehl z.b. als Argument eine Beschreibung bzw. einen langen Text erwartet. Dann müsst ihr diesen Text in Gänsefüßchen setzten. Damit eure Shell weiß das dies alles noch zusammen gehört und zusammen nur ein Argument ist.
Bitte fragt hier unbedingt nach, wenn etwas nicht ganz verstanden wurde, denn das zu verstehen ist ein wichtiger Bestandteil mit dem Umgang der Shell. Ihr könnt auch gerne Beispiele Posten, und nachfragen ob der teil x,y eures Befehls noch ein Argument / Option etc. ist.
LG Sebastian
|