0
votes

Exécution d'un script Bash sur plusieurs coquilles

Alors j'essayais de créer un script sur Bash Shell, je suis venu savoir que le script ne fonctionne pas sur KSH ou Dash Shells. Donc, ma question est de savoir comment vous faites un script pour fonctionner sur les 3 coquilles (Bash, Dash & Ksh).


0 commentaires

3 Réponses :


1
votes

Vous avez besoin de quelque chose de fichier comme ceci: xxx

(#!) Ça s'appelle Shebang indique à la coquille quel programme interpréter le script

appelé ce fichier comme vous préférez (File.bsk), mais n'oubliez pas de lui donner l'autorisation d'exécution avec: xxx

puis exécutez ./ file.bsk


0 commentaires

0
votes

Certaines commandes ou utilitaires ne sont pas disponibles dans toutes les coquilles ou ils peuvent avoir un comportement différent dans différentes coquilles. Si vous savez quelle commande s'exécute sur laquelle Shell ou vous donne la sortie souhaitée, vous pouvez écrire spécifiquement spécifique de coque comme ci-dessous xxx

toutes les autres commandes communes à toutes les coques peuvent être écrites de manière normale. < / p>


0 commentaires

1
votes

Pour écrire un script qui est garanti d'être portable entre les différentes coquilles, le script doit être Coquille POSIX conforme. POSIX est un ensemble minimal de boîtiers et de commandes que toutes les coquilles conformes doivent prendre en charge. Ash, Dash, Zsh, Bash, Ksh, etc. Sont toutes des coquilles capables d'exécuter des scripts qui sont conformes à Posix.

Quels coquillages comme Bash faire est Ajouter de jolies caractéristiques qui rendent la coquille plus capable, comme des les expansions de paramètre pour la conversion en majuscules / minuscules, le remplacement de la sous-chaîne, etc. et de nouveaux produits tels que [[...]] qui fournit des capacités de correspondance de regex, etc. Bien que cela rend plus capable de BASH plus capable, cela signifie également des scripts écrits à l'aide de " Bashismes " ne sont plus capables de fonctionner sous toutes les autres obus. Les cendres, les tirettes et d'autres coquilles minimales n'ont aucune idée de la façon de gérer les fonctionnalités ajoutées par Bash, KSH ou ZSH et donc échouer.

Pour écrire des scripts véritablement portables, vous devez limiter le contenu à celui fourni par la langue de commande POSIX.


0 commentaires