Ihr Terminal führt eine Shell aus (höchstwahrscheinlich bash
), der nach Ihren Befehlen fragt und sie ausführt.
Neben diesem interaktiven Modus können Sie auch Ihre Shell verwenden, um Befehle aus einer Datei auszuführen. Um die Befehle in Ihrer Datei auszuführen, können Sie die Shell entweder direkt wie bash script
aufrufen oder Sie können Ihre Datei mit einem "shebang" #!/bin/bash
beginnen und ausführbar machen (chmod +x script
). Dann können Sie das Skript wie eine Binärdatei behandeln und beispielsweise als ./script
ausführen oder platzieren Sie es an einem Ort, an dem Sie es suchen. (echo $PATH
)
Höchstwahrscheinlich ist sowohl Ihre interaktive Shell als auch die zum Ausführen verwendete Shell bash
.Aus der Perspektive eines "Linux-Lerners am ersten Tag" funktioniert bash in beiden Modi genau gleich. - Viel später stolpern Sie vielleicht über kleine Unterschiede. Wenn Sie es wirklich im Detail wissen wollen, würde ich vorschlagen, man bash
zu lesen und suchen Sie nach Orten, die "interaktiv" erwähnen. (Sie können eine Handbuchseite durchsuchen, indem Sie /
drücken .)
Es ist wichtig zu beachten, dass das Skript als neuer Prozess ausgeführt wird. Das bedeutet insbesondere, dass im Script gesetzte Variablen in der aufrufenden Shell nicht sichtbar sind.
$ export a=1
$ echo $a
1
$ bash -c 'echo $a;a=2;echo $a' # change the value in a script
1
2
$ echo $a # value not changed here
1
$
Ohne den Export a
ist nicht einmal für das innere Skript sichtbar.