(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.