GNU/Linux >> Znalost Linux >  >> Linux

Proč nikdo nepoužívá The True Bourne Shell jako /bin/sh?

Všiml jsem si, že v podstatě žádný systém, se kterým jsem kdy pracoval, nemá /bin/sh jako skutečný spustitelný soubor. Vždy se jedná o symbolický odkaz na dash , bash v režimu POSIX nebo v něčem podobném.

Proč? Jaké jsou nevýhody použití skutečného, ​​původního /bin/sh ? (Rychlost? Licence?)

Přijatá odpověď:

Hádal bych nedostatek funkcí – žádná historie příkazů, žádné efektní přesměrování, žádné úpravy příkazového řádku. BSD představilo csh C shell z těchto důvodů. Dalším faktorem je, že Genuine Bourne Shell byl teprve nedávno k dispozici ve formě open source. Pokud na to nemáte licenci, nemůžete to šířit. To ho postavilo mimo dosah bezplatných distribucí a učinilo to ideologicky nechutné pro ostatní distribuce a *BSD.

Ale kód je nyní k dispozici. Můžete se podívat, zkompilovat, otočit.


Linux
  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Proč je lepší používat jako Shebang „#!/usr/bin/env Name“ místo „#!/path/to/name“?

  3. Jaký je rozdíl mezi /sbin/nologin a /bin/false?

  1. Není důvod mít Shebang ukazující na /bin/sh spíše než /bin/bash?

  2. Proč /bin/sh ukazuje na /bin/dash a ne /bin/bash?

  3. Co je /bin/true?

  1. Co dělá řádek '!/bin/sh -e'?

  2. Proč potřebujete umístit #!/bin/bash na začátek souboru skriptu?

  3. Kdy mám použít /dev/shm/ a kdy /tmp/?