Solution:
Votre problème est dans votre première ligne. Tu as ceci:
#!/bin/bash
qui indique explicitement que le script shell doit être exécuté avec l’ancien /bin/bash
. Qu’est-ce que tu vraiment veux, est-ce :
#!/usr/local/bin/bash
d’utiliser le nouveau bash
de /usr/local/bin
.
Installer un nouveau bash :
brew install bash
Faites-en le shell par défaut :
chsh -s /usr/local/bin/bash
Définissez l’environnement dans un script :
#!/usr/bin/env bash
À l’aide de env
cherchera Bash dans votre $PATH
et utilisez le premier qu’il rencontre. Vous pouvez voir quel bash
il utilisera en tapant which bash
. Si c’est voir /bin/bash
d’abord, vous devrez définir votre $PATH
dans ~/.bashrc
et /.bash_profile
.
Comme pjv l’a souligné, vous devriez vraiment utiliser
#!/usr/bin/env bash
dans vos scripts partout pour être portable. Par exemple, si vous essayez d’exécuter votre script avec
#!/usr/local/bin/bash
il échouera sur la plupart des systèmes Linux.