Estou tendo problemas para executar um script bash zsh
. O script é semelhante ao abaixo e deve ser executado no bash:
#!/bin/bash
echo "<235234>" | egrep -oe [0-9]+
No entanto, meu shell está ativado por padrão zsh
. Portanto, para executar o script acima, o que faço é digitar /bin/bash
no zsh
prompt e, em seguida, eu o executo . script.sh
.
No entanto, isso resulta em um erro e recebo:
zsh: no matches found: [0-9]+
(Eu deveria pegar 235234
).
Neste ponto, estou confuso e tenho as seguintes perguntas:
- Se estou
bash
, por que recebo um erro relatado porzsh
? - Por que o
egrep
regexp falha? A expressão regular parece correta para mim.
Nota: Caso isso importe, não devo modificar o script (o script é compartilhado por vários usuários e não devemos fazer alterações nele).
obrigado
exec zsh
no meu~/.bashrc
, nem no meu~/.profile
(eu nem tenho um.profile
no meu diretório pessoal). Não me lembro de como consegui criarzsh
meu shell padrão. Além disso, desculpe-me pela confusão, mas a primeira linha do meu script é o shebang#!/bin/bash
. Com isso, ainda não sei por que o fornecimento do arquivozsh
não funciona (se você tiver alguma idéia sobre isso, me avise). Nos dois casos, entrarei em contato com o administrador para atualizar o script e adicionar aspas à regexp.egrep
.