Le piège à con du jour : /bin/bash et /bin/sh

August 3, 2012 by nono
Catégories geekeries - Mots-clés grmpf Linux rvm système

Après m'être battu un petit moment contre un script de déploiement d'une appli Rails avec rvm qui foirait pour une raison inexplicable, j'ai jeté un coup d'oeil au script .rvm/scripts/rvm dans lequel j'ai trouvé ça :

# Do not allow sourcing RVM in `sh` - it's not supported
# return 0 to exit from sourcing this script without breaking sh
[[ ":$SHELLOPTS:" =~ ":posix:" ]] && return 0 || true

Mais /bin/sh, chez moi, c'est bash ! Et ben non, ça ne suffit pas.

Moralité : suffit de commencer le script par #!/bin/bash plutôt que par #!/bin/sh pour que mon déploiement se passe comme sur des roulettes. Portable, qu'on vous dit.