GNU/Linux >> Znalost Linux >  >> Linux

Rozdíl mezi „$ . Foo“ A „$ ./foo“??

Tato otázka zde již obsahuje odpovědi :Jaký je rozdíl mezi získáváním zdrojů (‚.‘ nebo ‚source‘) a spouštěním souboru v bash?

(5 odpovědí)
Uzavřeno před 6 lety.

t je jednoduchý skript
Jaký je rozdíl mezi dvěma níže uvedenými případy:

$ .  t

a

$ ./t

Přijatá odpověď:

. t neotevře nový shell pro spuštění t, takže všechny vytvořené nebo upravené proměnné zůstanou po spuštění. t bude hledáno v $PATH, takže pokud jste chtěli spustit t z cesty, kde se právě nacházíte, příkaz by měl být . ./t

./t spustí t, které je v cestě, kde právě vytváříme shell pro provedení.

Abych to trochu více upřesnil. Předpokládejme, že t obsahuje:

#!/bin/bash 
data=hello 

Po spustíte ./t můžete echo $data z příkazového řádku a nezískáte nic, ale pokud spustíte . ./t a spusťte echo $data na obrazovce se vám zobrazí ahoj.


Linux
  1. Rozdíl mezi [[ $a ==Z* ]] a [ $a ==Z* ]?

  2. Rozdíl mezi 2>&-, 2>/dev/null, |&, &>/dev/null A>/dev/null 2>&1?

  3. Jaký je rozdíl mezi Sudo Su – a Sudo Su –?

  1. Rozdíl mezi Getty a Agetty?

  2. Rozdíl mezi „du -sh *“ a „du -sh ./*“?

  3. Rozdíl mezi „env“ a „printenv“?

  1. Rozdíl mezi ~/.profile a ~/.bash_profile?

  2. Jaký je rozdíl mezi ls a l?

  3. Rozdíl mezi /bin a /usr/bin