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.
./programführt eine Datei namensprogramaus 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.bashrcauszuführen Shell-Skript, da dieses Skript Ihre aktuelle Shell ändern soll .