Le opzioni CLI non funzionano se superate alla fine del comando [duplicato]

1

In breve: ls -a /tmp funziona ma ls /tmp -a no.

Recentemente ho iniziato a utilizzare Macbook Pro. Provenendo da uno sfondo Linux, il comando come ls /tmp -a sembra perfettamente adatto a me.

Ma per qualche ragione questi non funzionano allo stesso modo in Mac. I flag di argomento non vengono riconosciuti se vengono specificati alla fine dopo il percorso.

Ecco una demo:

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

Sto usando l'ultima zsh 5.0.5 (x86_64-apple-darwin14.0)

Riesco a vedere un comportamento simile a molti altri comandi come du , rm ecc. Quasi tutti questi sono nella cartella / bin. Mi chiedo se abbia qualcosa a che fare con le differenze UNIX e Linux.

Qualcuno conosce il motivo alla base della differenza e se possibile una correzione?

    
posta Shubham Chaudhary 02.04.2015 - 11:23
fonte

1 risposta

1

Questo è dovuto alla versione della shell di apple zsh . Per installare la versione zsh con questo comportamento, devi installare homebrew . Puoi farlo facilmente digitando quanto segue:

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

Una volta installato, installa le formule zsh :

brew install zsh

Quindi devi sostituire la tua shell con zsh fornita da homebrew:

chsh -s /usr/local/bin/zsh

Dopodiché dovresti essere in grado di testare la tua versione zsh e utilizzare gli argomenti dei comandi come vuoi.

    
risposta data 02.04.2015 - 12:33
fonte

Leggi altre domande sui tag