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). P>
3 Réponses :
Vous avez besoin de quelque chose de fichier comme ceci: (#!) Ça s'appelle Shebang indique à la coquille quel programme interpréter le script P> appelé ce fichier comme vous préférez (File.bsk), mais n'oubliez pas de lui donner l'autorisation d'exécution avec: p> puis exécutez ./ file.bsk code> p> p> p>
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 toutes les autres commandes communes à toutes les coques peuvent être écrites de manière normale. < / p> p>
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. P>
Quels coquillages comme Bash faire est Ajouter de jolies caractéristiques qui rendent la coquille plus capable, comme des em> les expansions de paramètre em> pour la conversion en majuscules / minuscules, le remplacement de la sous-chaîne, etc. et de nouveaux produits tels que Pour écrire des scripts véritablement portables, vous devez limiter le contenu à celui fourni par la langue de commande POSIX. p> [[...]] code> 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 em>" 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. P>