(5 Antworten)
Vor 6 Jahren geschlossen.
t ist ein einfaches Skript
Was zwischen den beiden folgenden Fällen unterschiedlich ist:
$ . t
und
$ ./t
Akzeptierte Antwort:
. t öffnet keine neue Shell, um t auszuführen, sodass alle erstellten oder geänderten Variablen nach der Ausführung erhalten bleiben. t wird in $PATH gesucht, wenn Sie also t von dem Pfad aus ausführen wollten, in dem Sie sich gerade befinden, hätte der Befehl . ./t
./t führt t aus, das sich in dem Pfad befindet, in dem wir gerade eine Shell zur Ausführung spawnen.
Um ein bisschen mehr zu verdeutlichen. Angenommen, t enthält:
#!/bin/bash
data=hello
Nach Sie führen ./t aus Sie können echo $data von der Befehlszeile und Sie erhalten nichts, aber wenn Sie . ./t und führen Sie echo $data aus Sie erhalten ein Hallo auf Ihrem Bildschirm.