cs.phhsnews.com


cs.phhsnews.com / Kdy je lepší použít #! / Bin / bash Namísto #! / Bin / sh v Shell skriptu?

Kdy je lepší použít #! / Bin / bash Namísto #! / Bin / sh v Shell skriptu?


Když vytváříte nový shell shell, určitě je to tak bezproblémové, jak je to možné, ale někdy to může být trochu matoucí, abyste věděli, který shebang je nejlepší pro použití. Dnešní příspěvek SuperUser Q & A má odpověď na otázku zmateného čtenáře.

Dnešní zasvěcení Otázka a odpověď nás přichází s laskavým svolením SuperUseru - subdivize Stack Exchange, komunitní skupiny webových stránek Q & A. > Otázka

Čtenář SuperUser Hendre chce vědět, kdy je lepší použít

#! / Bin / bash namísto #! / Bin / sh > Kdy je vhodnější použít #! / Bin / bash

spíše než #! / Bin / sh > namísto

#! / bin / sh v shellu? krátký: Existuje několik shellů, které implementují nadřazenou množinu specifikací POSIX sh. Na různých systémech může být / bin / sh

odkazem na popel, bash, pomlčku, ksh, zsh atd.

pokud se držíte pouze funkcí sh, můžete (a pravděpodobně i) použít

#! / bin / sh

  • a skript by měl fungovat bez ohledu na to, který shell je. (např. pole), měli byste konkrétně požádat o bash, protože i když / bin / sh
  • již vyvolá bash na vašem systému, nemusí to fungovat ve všech ostatních systémech a váš skript zde nebude fungovat . Totéž platí pro zsh a ksh, samozřejmě. I když je skript pouze pro osobní použití, možná si všimnete, že některé operační systémy během upgradu mění / bin / sh
  • . Například v Debianu bývalo bash, ale později byl nahrazen minimálním pomlčkou. Skripty, které používaly bashismy, ale #! / Bin / sh se náhle rozbil.
  • Nicméně: Dokonce #! / Bin / bash není správné. Na různých systémech může být bash v prostředí / usr / bin

,