ZSH:
sudo apt-get remove --purge ubuntuone-*
ERROR: zsh: no matches found: ubuntuone-*
Funciona en Bash. Cuál es el problema ? :-RE
Sí, zsh
y bash
comportarse de manera diferente a este respecto.
En zsh
, cuando dice " ubuntuone-*
", busca en su directorio de trabajo actual los archivos que comienzan con ubuntuone-
- ya que no encuentra ninguno, dice " no matches
" y no ejecuta el comando.
bash
toma un rumbo diferente: también busca archivos que comienzan ubuntuone-
en el directorio de trabajo actual, pero si no encuentra ninguno, se dice a sí mismo: "Tal vez el programa que estoy invocando sabe cómo manejar el comodín", y así lo pasa " ubuntuone-*
"fuera sudo apt-get
como un argumento literal.
Si tenía un archivo en su directorio de trabajo actual llamado ubuntuone-ffdjhjer
, bash intentaría ejecutarse sudo apt-get remove --purge ubuntuone-ffdjhjer
, lo que probablemente fallará.
En zsh
(y en bash
) puede usar comillas simples para indicarle que no expanda el comodín sino que lo pase, como en:
sudo apt-get remove --purge 'ubuntuone-*'
dpkg -l 'linux*'
escribo bash para ver todos los núcleos instalados.Puede ser un poco tarde esta respuesta, pero hay una manera de solucionarlo. Desde la línea de comando ejecutar:
fuente
shopt -s failglob
enbash
a fijarbash
por lo que se comporta comozsh
y otros proyectiles modernos comofish
otcsh
que se han fijado que misfeature de la Bourne shell mediante el cual un comando todavía puede funcionar incluso si los globos no coinciden.Hay otra forma de evitar la expansión en zsh, que prefiero a las comillas:
fuente