ZSH:
sudo apt-get remove --purge ubuntuone-*
ERROR: zsh: no matches found: ubuntuone-*
Funziona su Bash. Qual è il problema ? :-D
ZSH:
sudo apt-get remove --purge ubuntuone-*
ERROR: zsh: no matches found: ubuntuone-*
Funziona su Bash. Qual è il problema ? :-D
Risposte:
Sì, zshe bashcomportati diversamente in questo senso.
In zsh, quando dici " ubuntuone-*" cerca nella directory di lavoro corrente i file che iniziano con ubuntuone-- poiché non ne trova nessuno, dice " no matches" e non esegue il comando.
bashprende una virata diversa: cerca anche i file che iniziano con ubuntuone-l'attuale directory di lavoro, ma se non ne trova nessuno dice a se stesso: "Forse il programma che sto invocando sa come gestire il carattere jolly" e quindi passa " ubuntuone-*"via sudo apt-getcome argomento letterale.
Se avessi un file nella directory di lavoro corrente chiamato ubuntuone-ffdjhjer, allora bash proverà ad eseguire sudo apt-get remove --purge ubuntuone-ffdjhjer, il che probabilmente fallirebbe.
In zsh(e in bash) puoi usare virgolette singole per dirgli di non espandere il carattere jolly ma di trasmetterlo, come in:
sudo apt-get remove --purge 'ubuntuone-*'
dpkg -l 'linux*'bash per vedere tutti i kernel installati.
Potrebbe essere un po 'in ritardo questa risposta, ma c'è un modo per risolvere questo problema. Dalla riga di comando eseguire:
unsetopt no_match
shopt -s failglobin basha fix bash così si comporta come zshe altre shell moderni come fisho tcsh che sono fissate che misfeature della Bourne shell per cui un comando può ancora essere eseguito anche se le gocce non corrisponde.