GNU/Linux >> Znalost Linux >  >> Linux

Co dělá `. /cesta/příkaz` Udělat? (mezera za tečkou, Absolutní cesta)?

Tato otázka zde již obsahuje odpovědi :Co znamená tečka před příkazem v shellu?

(6 odpovědí)
Uzavřeno před 4 měsíci.

Z tohoto průvodce dokončením Bash se dozvídáme, že aby Bash provedl automatické dokončování, musíte provést . /etc/etc/bash_completion.d/foobar (všimněte si mezery za . ), aby dokončení Bash fungovalo.

$ /etc/bash_completion.d/ssh
bash: /etc/bash_completion.d/ssh: Permission denied
$ . /etc/bash_completion.d/ssh
$ ls -l /etc/bash_completion.d | grep ssh
-rw-r--r-- 1 root root   297 Jan 28 18:04 ssh

Je . zkratka pro source příkaz? Pokud ne, co to je? Není možné vyhledat, man source nevrací nic a apropos source a info source poskytnout tolik irelevantních informací, že nedokážu říct, jestli tam je to, co hledám. Jak bych vůbec mohl začít s RTFM, abych sám našel odpověď na tuto otázku?

Přijatá odpověď:

Ano . je identický se source funkce.

Jako vždy je prvním odkazem man bash manuálová stránka, kde můžete potvrdit svůj počáteční odhad vyhledáním / source

…shell funkce nebo skript spuštěný pomocí . nebo zdroj…

je první reference, ale o něco dále najdete sekci Shell Builtin Commands

. filename [arguments]
source filename [arguments]
Čtěte a spouštějte příkazy z názvu souboru v aktuálním prostředí shell
a vraťte stav ukončení posledního provedeného příkazu
z názvu souboru. Pokud název_souboru neobsahuje lomítko, názvy souborů v
PATH se použijí k nalezení adresáře obsahujícího název_souboru. Soubor
hledaný v PATH nemusí být spustitelný. Když bash není v režimu posix
, prohledá se aktuální adresář, pokud není v PATH nalezen žádný soubor.
Pokud je volba sourcepath k vestavěnému příkazu shopt vypnuta,
PATH není hledali. Jsou-li zadány nějaké argumenty, stanou se
pozičními parametry při spuštění souboru. Jinak se
poziční parametry nezmění. Návratový stav je stav
posledního příkazu ukončeného ve skriptu (0, pokud nejsou
provedeny žádné příkazy), a false, pokud název souboru nebyl nalezen nebo jej nelze přečíst.

Skutečnost, že se jedná o vestavěnou funkci bash, je důvodem, proč zdroj nepřichází s vlastní manuálovou stránkou, a proto apropos selhal.

Související:Přesvědčit apt-get *ne* používat metodu IPv6?
Linux
  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Linux – Co znamená tečka za bity oprávnění souboru?

  3. Linux – Co znamená písmeno „u“ v /dev/urandom?

  1. Co je absolutní cesta?

  2. Chcete-li zobrazit zdrojovou cestu připojení pro připojení po verzi 2.25.2

  3. Co znamená NT_STATUS_BAD_NETWORK_NAME v Sambě?

  1. Na jakých systémech se //foo/bar liší od /foo/bar?

  2. Co znamená tilda (~) na konci názvu souboru?

  3. Co znamená P a E v Exec Family Of Calls?