J'ai des problèmes pour exécuter un script bash zsh
. Le script est similaire à celui ci-dessous et est censé s'exécuter sous bash:
#!/bin/bash
echo "<235234>" | egrep -oe [0-9]+
Cependant, mon shell est activé par défaut zsh
, donc pour exécuter le script ci-dessus, je tape /bin/bash
à l' zsh
invite, puis je lance . script.sh
.
Cependant, cela entraîne une erreur et j'obtiens:
zsh: no matches found: [0-9]+
(Je devrais y aller à la 235234
place).
À ce stade, je suis confus et j'ai les questions suivantes:
- Si j'y suis
bash
, pourquoi est-ce que je reçois une erreur signalée parzsh
? - Pourquoi la
egrep
regexp échoue? L'expression régulière me semble correcte.
Remarque: Au cas où cela importe, je ne suis pas censé modifier le script (le script est partagé par plusieurs utilisateurs et nous ne sommes pas censés y apporter des modifications).
Merci
exec zsh
sur mon~/.bashrc
, ni sur mon~/.profile
(je n'en ai même pas.profile
sur mon répertoire personnel). Je ne me souviens pas comment j'ai réussi à créerzsh
mon shell par défaut. Aussi, désolé pour la confusion, mais la première ligne de mon script est le shebang#!/bin/bash
. Avec cela, je ne sais toujours pas pourquoi l'approvisionnement du fichierzsh
ne fonctionne pas (si vous avez des idées à ce sujet, faites-le moi savoir). Dans les deux cas, je contacterai l'administrateur pour mettre à jour le script pour ajouter des guillemets à l'expression rationnelle.egrep
.