GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi personne n'utilise le True Bourne Shell comme /bin/sh ?

J'ai remarqué qu'en gros aucun système avec lequel j'ai travaillé n'a /bin/sh comme un véritable exécutable. C'est toujours un lien symbolique vers dash , bash en mode POSIX, ou quelque chose de similaire.

Pourquoi? Quels sont les inconvénients d'utiliser le vrai /bin/sh d'origine ? (Vitesse ? Licence ?)

Réponse acceptée :

Je suppose qu'il manque de fonctionnalités - pas d'historique des commandes, pas de redirection sophistiquée, pas d'édition de ligne de commande. BSD a introduit csh le shell C pour ces raisons. Un autre facteur est que le Genuine Bourne Shell n'était disponible que récemment sous forme open source. À moins que vous ne l'ayez autorisé, vous ne pouvez pas le distribuer. Cela l'a mis hors de portée des distributions gratuites et l'a rendu idéologiquement désagréable pour les autres distributions et *BSD.

Mais le code est maintenant disponible. Vous pouvez y jeter un coup d'œil, le compiler, l'essayer.


Linux
  1. Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

  2. Quelle est la différence entre /sbin/nologin et /bin/false ?

  3. Pourquoi Bashrc vérifie-t-il si le shell actuel est interactif ?

  4. Est-il correct d'utiliser /bin/sh dans le hashbang si le Bourne Shell n'est pas disponible dans une distribution ?

  5. Pourquoi /bin/sh pointe-t-il vers /bin/dash et non /bin/bash ? ?

Quelle est la différence entre #!/usr/bin/env bash et #!/usr/bin/bash ?

Quand dois-je utiliser /dev/shm/ et quand dois-je utiliser /tmp/?

Quand dois-je utiliser #!/bin/bash et quand #!/bin/sh ?

Différence entre /bin et /usr/bin

Pourquoi le vrai et le faux sont-ils si grands ?

#!/bin/sh vs #!/bin/bash pour une portabilité maximale