sudo apt-get remove --purge ubuntuone-* ERROR: zsh: no matches found: ubuntuone-*
Works on Bash. What's the problem ? :-D
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.Sign up to join this community
bash behave differently in this regard.
zsh, when you say "
ubuntuone-*" it looks in your current working directory for files that start with
ubuntuone- - since it does not find any, it says "
no matches" and does not run the command.
bash takes a different tack - it also looks for files that start with
ubuntuone- in the current working directory, but if it does not find any it says to itself, "Maybe the program I am invoking knows how to handle the wildcard," and so passes "
ubuntuone-*" off to
sudo apt-get as a literal argument.
If you had a file in your current working directory called
ubuntuone-ffdjhjer, then bash would try to execute
sudo apt-get remove --purge ubuntuone-ffdjhjer, which would probably fail.
zsh (and in
bash) you can use single quotes to tell it not to expand the wildcard but to pass it on, as in:
sudo apt-get remove --purge 'ubuntuone-*'
Might be a little late this answer, but there is a way to fix this. From command line execute:
There are another way to prevent expansion in zsh, which i prefer over quotes:
sudo apt-get remove --purge ubuntuone-\*