Tengo problemas para ejecutar un script bash zsh
. El script es similar al siguiente y se supone que se ejecuta bajo bash:
#!/bin/bash
echo "<235234>" | egrep -oe [0-9]+
Sin embargo, mi shell está activado de manera predeterminada zsh
, por lo que para ejecutar el script anterior, lo que hago es escribir /bin/bash
en mi zsh
indicador y luego ejecuto . script.sh
.
Sin embargo, esto da como resultado un error y obtengo:
zsh: no matches found: [0-9]+
(Debería obtener en su 235234
lugar).
En este momento estoy confundido y tengo las siguientes preguntas:
- Si estoy dentro
bash
, ¿por qué recibo un errorzsh
? - ¿Por qué
egrep
falla la expresión regular? La expresión regular me parece correcta.
Nota: En caso de que sea importante, no se supone que modifique el script (el script es compartido por varios usuarios y no debemos realizar cambios en él).
Gracias
exec zsh
en mi~/.bashrc
, ni en mi~/.profile
(ni siquiera tengo uno.profile
en mi directorio de inicio). No recuerdo cómo logré hacerzsh
mi shell predeterminado. Además, perdón por la confusión, pero la primera línea de mi script es el shebang#!/bin/bash
. Con esto, todavía no sé por qué el abastecimiento del archivozsh
no funciona (si tiene alguna idea al respecto, hágamelo saber). En cualquier caso, me pondré en contacto con el administrador para actualizar el script, sin embargo, para agregar citas a la expresión regular.