Ve většině shellových skriptů, které jsem viděl (kromě těch, které jsem sám nenapsal), jsem si všiml, že shebang je nastaven na #!/bin/sh
. U starších skriptů mě to vlastně nepřekvapuje, ale je to i u docela nových skriptů.
Existuje nějaký důvod, proč preferovat /bin/sh
přes /bin/bash
, protože bash
je do značné míry všudypřítomný a často výchozí na mnoha počítačích se systémem Linux a BSD, které se datují více než deset let?
Přijatá odpověď:
- Existují systémy, které standardně nedodávají bash (např. FreeBSD).
- I když je bash nainstalován, nemusí být umístěn v
/bin
. - Většina jednoduchých skriptů nevyžaduje bash.
- Použití shellu POSIX je přenosnější a skripty poběží na více různých systémech.
Proč Rsync trvá na tom, že je rozdíl, když jej spustím podruhé?
Proč program s Fork() někdy tiskne svůj výstup vícekrát?