GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Der Unterschied zwischen „$ . Foo‘ und ‚$ ./foo‘??

Für diese Frage gibt es hier bereits Antworten :Was ist der Unterschied zwischen dem Sourcing (‚.‘ oder ‚source‘) und dem Ausführen einer Datei in Bash?

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


Linux
  1. Linux:Unterschied zwischen /dev/console , /dev/tty und /dev/tty0?

  2. Unterschied zwischen 2>&-, 2>/dev/null, |&, &>/dev/null und>/dev/null 2>&1?

  3. Was ist der Unterschied zwischen Sudo Su – und Sudo Su –?

  4. Der Unterschied zwischen Getty und Agetty?

  5. Der Unterschied zwischen „du -sh *“ und „du -sh ./*“?

Was ist der Unterschied zwischen InnoDB und MyISAM?

Was ist der Unterschied zwischen Linux und Unix?

Der Unterschied zwischen /opt und /usr/local?

Der Unterschied zwischen 'env' und 'printenv'?

Unterschied zwischen /etc/crontab und crontab -e

Was ist der Unterschied zwischen ls und l?