Nejprve byste měli vyvolat type .
, pravděpodobně dostanete něco jako:
. is a shell builtin
Builtiny jsou součástí vašeho shellu, nemají vlastní manuálové stránky. Některým se může zdát, že je mají, např. echo
je vestavěný v Bash, ale s největší pravděpodobností existuje samostatný spustitelný soubor jako /bin/echo
ve vašem systému a v tomto případě man echo
odkazuje na poslední . Tyto dva echo
s pravděpodobně nejsou přísně ekvivalentní.
Váš shell může poskytovat informace o jakékoli vestavěné službě prostřednictvím help
vestavěný; zkuste help help
, help type
a nakonec:
help .
Builtiny mohou být také uvedeny na manuálové stránce vašeho shellu. Např. (v mém Debianu) Vestavěné prvky Bash jsou pokryty přímo v man bash
, ale pro Zsh vestavěné man zsh
říká mi, abych spustil man zshbuiltins
. Obecně shelly mohou nebo nemusí vysvětlovat jejich vestavěné prvky.
Zkuste použít man sh
nebo man bash
nebo manuálovou stránku pro jakýkoli shell, který používáte. (Možná man $SHELL
.)
Oficiálně se tomu neříká příkaz "point", ale source
příkaz. Hledání slova source
může být užitečné.
např. bash man page (hledejte „každý vestavěný příkaz“) a rychle najdete dokumentaci.
Pokud jde o vysvětlení použití, mohu to udělat přímo zde. Budu to jen označovat jako source
příkaz, s vědomím, že jej lze zkrátit pouze na období, kdy používáte nějaké shelly, au některých shellů tento příkaz může být potřeba (protože tečka může být rozpoznána, ale celé slovo source
nemusí být).
Pokud použijete source
váš shell přečte každý řádek ze souboru skriptu a pokusí se jej spustit. K souboru potřebujete oprávnění ke čtení. (Nezáleží na tom, zda máte oprávnění ke spouštění.) Pokud proměnnou upravíte, může to ovlivnit váš aktuální shell.
Pokud se na druhou stranu pokusíte soubor spustit, váš shell požádá operační systém, aby se o tento požadavek postaral. To bude vyžadovat oprávnění ke spuštění. (Na některých systémech, jako je OpenBSD, k tomu nebudete potřebovat oprávnění ke čtení. Na jiných systémech, včetně mnoha unixových variací, ano.) Soubor může muset začínat vhodnou hlavičkou (např. #!/bin/sh
), takže operační systém rozpozná, že se jedná o soubor skriptu. Operační systém spustí kopii požadovaného shellu a řekne mu, aby spustil obsah skriptu. Pokud se změní prostředí shellu (např. proměnná získá novou hodnotu, změní se pracovní adresář (s cd
), je přesměrován deskriptor souboru (s exec
), atd.), ovlivní to pouze pod-shell, který byl zavolán pro skript, a nemůže změnit prostředí v nadřazeném shellu, který volal soubor skriptu.
Nikdo jiný se o tom nezmínil, protože se na to často zapomíná.
Vaše největší vodítko by pocházelo z užitečného příkazu whatis
.
[email protected] ~ $ whatis .
builtins (1) - bash built-in commands, see bash(1)
[email protected] ~ $ whatis source
builtins (1) - bash built-in commands, see bash(1)
[email protected] ~ $ whatis bash
bash (1) - GNU Bourne-Again SHell
[email protected] ~ $ whatis lynx
lynx (1) - a general purpose distributed information browser for the World Wide Web
[email protected] ~ $ whatis linux
linux: nothing appropriate.
[email protected] ~ $ whatis whatis
whatis (1) - display one-line manual page descriptions
UPRAVIT:
Někteří lidé v komentářích poukázali na to, že to není v některých distribucích - možná je to instalovatelný balíček nebo nějak povolený - měl jsem to standardně v gentoo;)
Zahrnuje úžasné which - které vám řekne, který spustitelný soubor se nazývá, a whereis which poskytuje všechny cesty ke spustitelnému souboru, který pojmenujete, a jsou to manuálové stránky (pokud existuje ve více cestách).