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/bashno zshprompt 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
egrepregexp 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 zshno meu~/.bashrc, nem no meu~/.profile(eu nem tenho um.profileno meu diretório pessoal). Não me lembro de como consegui criarzshmeu 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 arquivozshnã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.