phhsnews.com


phhsnews.com / Quand est-il préférable d'utiliser #! / Bin / bash Au lieu de #! / Bin / sh dans un script shell?

Quand est-il préférable d'utiliser #! / Bin / bash Au lieu de #! / Bin / sh dans un script shell?


Lorsque vous créez un nouveau script shell, vous voulez faire Assurez-vous que c'est aussi facile que possible, mais parfois il peut être un peu déroutant de savoir quel shebang est le meilleur pour vous d'utiliser. Sur cette note, le post Q & A de SuperUser d'aujourd'hui a la réponse à la question d'un lecteur confus.

La session de questions et réponses d'aujourd'hui nous est offerte par SuperUser, une subdivision de Stack Exchange, un regroupement de Q & A. > La question

Le lecteur SuperUser Hendre veut savoir quand il est préférable d'utiliser

#! / Bin / bash au lieu de #! / Bin / sh dans les scripts shell: Quand est-il plus approprié d'utiliser

#! / Bin / bash plutôt que #! / Bin / sh dans un script shell? Quand est-il préférable d'utiliser

#! / bin / bash au lieu de #! / bin / sh dans un script shell? Le contributeur SuperUser de Answer

grawity a la réponse pour nous:

Dans short:

Plusieurs shells implémentent un surensemble de la spécification POSIX sh. Sur des systèmes différents,

  • / bin / sh pourrait être un lien vers ash, bash, dash, ksh, zsh, etc. Il sera toujours compatible avec les sh, jamais csh ou fish. Aussi longtemps Comme vous vous en tenez uniquement aux fonctions sh, vous pouvez (et probablement devriez) utiliser
  • #! / bin / sh et le script devrait fonctionner correctement, quel que soit le shell. Si vous commencez à utiliser les fonctions spécifiques à bash (ie les tableaux), vous devriez demander spécifiquement bash car, même si
  • / bin / sh invoque déjà bash sur votre système, il peut ne pas fonctionner sur le système de tout le monde . Même chose pour zsh et ksh, bien sûr. Même si le script est uniquement destiné à un usage personnel, vous remarquerez peut-être que certains systèmes d'exploitation changent
  • / bin / sh lors des mises à niveau. Par exemple, sur Debian, c'était bash, mais plus tard remplacé par le tiret minimal. Scripts qui utilisaient des bashismes mais qui avaient #! / Bin / sh cassé soudainement. Cependant:

Même

  • #! / Bin / bash n'est pas correct. Sur des systèmes différents, bash peut être / usr / bin , / usr / pkg / bin , ou / usr / local / bin . A L'option la plus fiable est
  • #! / usr / bin / env bash , qui utilise $ PATH . Bien que l'outil env lui-même ne soit pas non plus strictement garanti, / usr / bin / env fonctionne encore sur plus de systèmes que / bin / bash . Vous avez quelque chose à ajouter explication? Sonnez dans les commentaires. Vous voulez lire plus de réponses d'autres utilisateurs de Stack Exchange? Consultez le fil de discussion complet ici.

Crédit image: Wikipedia


Comment éviter que votre Mac ne dorme sans logiciel supplémentaire

Comment éviter que votre Mac ne dorme sans logiciel supplémentaire

Est-ce que votre Mac se couche à un moment inopportun? Voulez-vous le garder éveillé, mais ne voulez pas installer de logiciel supplémentaire? Avec ce petit truc de ligne de commande, vous pouvez garder votre Mac éveillé pendant une durée spécifiée ou indéfiniment. CONNEXE: Comment empêcher temporairement votre Mac de dormir Dans le passé, nous vous avons dit que vous peut utiliser une petite application pratique appelée Caféine pour garder votre Mac éveillé.

(how-to)

Bénéficiez de l'assistance gratuite pour PC Windows et de la suppression des logiciels malveillants dans votre magasin Microsoft Store

Bénéficiez de l'assistance gratuite pour PC Windows et de la suppression des logiciels malveillants dans votre magasin Microsoft Store

Microsoft exploite plus de 100 magasins de détail aux États-Unis et au Canada. Ils ne sont pas seulement des endroits où faire des achats - Microsoft Stores effectuera la maintenance de base de votre PC sous Windows, gratuitement. Peu importe où vous avez acheté le PC, tant qu'il fonctionne sous Windows.

(how-to)