ZSH:
sudo apt-get remove --purge ubuntuone-*
ERROR: zsh: no matches found: ubuntuone-*
Bash üzerinde çalışıyor. Sorun ne ? :-D
ZSH:
sudo apt-get remove --purge ubuntuone-*
ERROR: zsh: no matches found: ubuntuone-*
Bash üzerinde çalışıyor. Sorun ne ? :-D
Yanıtlar:
Evet zshve bashbu konuda farklı davranıyorlar.
İçinde zsh" ubuntuone-*" dediğinizde , şu anki çalışma dizininizde ile başlayan dosyaları arar ubuntuone-- hiçbiri bulamadığı için " no matches" der ve komutu çalıştırmaz.
bashfarklı bir çakışma alır - aynı zamanda ubuntuone-geçerli çalışma dizininde başlayan dosyaları arar , ancak herhangi bir şey bulamazsa kendi kendine "Belki çağırdığım program joker karakterin nasıl işleneceğini bilir" ve böylece geçer " ubuntuone-*" sudo apt-getgerçek bir argüman olarak.
Geçerli çalışma dizininizde şu ubuntuone-ffdjhjeradla adlandırılmış bir dosya varsa , bash yürütmeye çalışır ve sudo apt-get remove --purge ubuntuone-ffdjhjerbu muhtemelen başarısız olur.
İçinde zsh(ve içinde bash), joker karakteri genişletmemesini değil, onu iletmesini bildirmek için tek tırnak işaretleri kullanabilirsiniz:
sudo apt-get remove --purge 'ubuntuone-*'
dpkg -l 'linux*'kurulu tüm çekirdekleri görmek için bash yazıyorum .
Bu cevabı biraz geç olabilir, ama bunu düzeltmenin bir yolu var. Komut satırından yürütme:
unsetopt no_match
shopt -s failglobiçinde bashhiç düzeltme bash bunun gibi davranır böylece zshve diğer modern kabuklar gibi fishveya tcsh o giderdiğinizi globs eşleşmedi bile bir komut hala çalıştırmak olabilir sayede Bourne kabuğunun misfeature.