Die Shell verwendet Leerzeichen, um den auszuführenden Befehl und seine Parameter zu trennen.
Im ersten Beispiel ist der auszuführende Befehl .
mit einem Parameter von a.out
. Die .
Der Befehl ist eine Shell-Verknüpfung für source
, die den Namen einer Datei mit Shell-Befehlen als ersten Parameter nimmt und diese Befehle in der aktuellen Shell ausführt. Dieser Befehl schlägt fehl, weil a.out
ist eine Binärdatei, kein Shell-Skript.
Im zweiten Beispiel lautet der auszuführende Befehl ./a.out
, was bedeutet, dass Sie die Datei a.out
ausführen im aktuellen Verzeichnis befinden.
./program
führt eine Datei namensprogram
aus befindet sich in Ihrem aktuellen Arbeitsverzeichnis (./
) (in einer neuen Shell für ein Shell-Skript)..
ist dasselbe wiesource
, das ein Shell-Skript in Ihrer aktuellen Shell ausführt . Im Gegensatz zu./program
, es kann nicht zum Ausführen von Binärdateien verwendet werden! Als Beispiel könnten Sie diesen Befehl verwenden, um Ihren.bashrc
auszuführen Shell-Skript, da dieses Skript Ihre aktuelle Shell ändern soll .