Las opciones de CLI no funcionan si se pasan al final del comando [duplicar]

1

En resumen: ls -a /tmp funciona pero ls /tmp -a no.

Recientemente empecé a usar Macbook Pro. Desde un fondo de Linux, un comando como ls /tmp -a me parece perfectamente bien.

Pero por alguna razón, estos no funcionan de la misma manera en Mac. Los indicadores de argumento no se reconocen si se especifican al final después de la ruta.

Aquí hay una demostración:

/tmp/demo  ➜ ls -a ./
.           ..          .hidden-bar foo
/tmp/demo  ➜ ls ./ -a
ls: -a: No such file or directory
./:
foo
/tmp/demo  ➜     

Estoy usando el último zsh 5.0.5 (x86_64-apple-darwin14.0)

Puedo ver un comportamiento similar de varios otros comandos como du , rm , etc. Casi todos están en la carpeta / bin. Me pregunto si tiene algo que ver con las diferencias entre UNIX y Linux.

¿Alguien sabe la razón detrás de la diferencia y, si es posible, una solución para ella?

    
pregunta Shubham Chaudhary 02.04.2015 - 11:23

1 respuesta

1

Esto se debe a que Apple zsh shell version. Para instalar la versión zsh con ese comportamiento, debes instalar homebrew . Puede hacerlo fácilmente escribiendo lo siguiente:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Una vez instalado, instale las fórmulas zsh :

brew install zsh

Luego tienes que reemplazar tu shell con zsh proporcionado por homebrew:

chsh -s /usr/local/bin/zsh

Después de eso, deberías poder probar tu versión zsh y usar los argumentos de comando que quieras.

    
respondido por el jherran 02.04.2015 - 12:33

Lea otras preguntas en las etiquetas