Sto riscontrando problemi nell'esecuzione di uno script bash zsh. Lo script è simile a quello sotto e dovrebbe funzionare sotto bash:
#!/bin/bash
echo "<235234>" | egrep -oe [0-9]+
Tuttavia, la mia shell è attivata per impostazione predefinita zsh, quindi per eseguire lo script sopra quello che faccio è digitare /bin/bashsul mio zshprompt, quindi eseguo . script.sh.
Tuttavia, questo si traduce in un errore e ottengo:
zsh: no matches found: [0-9]+
(Dovrei ottenere 235234invece).
A questo punto sono confuso e ho le seguenti domande:
- Se ci sono
bash, perché visualizzo un errorezsh? - Perché il
egrepregexp fallisce? L'espressione regolare mi sembra corretta.
Nota: nel caso in cui sia importante, non dovrei modificare lo script (lo script è condiviso da più utenti e non dovremmo modificarlo).
Grazie
exec zshsul mio~/.bashrc, né sul mio~/.profile(non ho nemmeno un.profilesulla mia directory home). Non ricordo come sono riuscito a creare lazshmia shell predefinita. Inoltre, scusate la confusione, ma la prima riga della mia sceneggiatura è lo shebang#!/bin/bash. Con questo, non so ancora perché il sourcing del filezshnon funzioni (se hai qualche idea a riguardo fammi sapere). In entrambi i casi, contatterò l'amministratore per aggiornare lo script per aggiungere virgolette al regexp.