2015-08-31 64 views
6

Próbuję napisać prostą funkcję w moim .zshrc, która ukrywa wszystkie błędy (głównie "Odmowa uprawnień") dla find.Przekazywanie wszystkich argumentów w funkcji zsh

Teraz, w jaki sposób mogę przekazać wszystkie argumenty podane przez wywołanie funkcji do find?

function superfind() { 
    echo "Errors are suppressed!" 
    find $(some magic here) 2>/dev/null 
} 

mogłem zrobić $1 $2 $3 $4 ... ale to jest głupie! Jestem pewien, że istnieje naprawdę prosty sposób.

Odpowiedz

7

Zastosowanie [email protected], rozszerza się do wszystkich argumentów pozycyjnych, np .:

superfind() { 
    echo "Errors are suppressed!" 
    find "[email protected]" 2> /dev/null 
} 
+0

Przypuśćmy, że chcesz przekazać wszystko ale pierwszy argument? –

+0

@rayandrews: dodaj polecenie 'shift' przed poleceniem' find'. – Thor

+0

Mam na myśli w sytuacji takiej jak ta: "echo" first arg to: 1 $, a pozostałe args to: 2 $ 3 $ 4 $ 5 ... "... nie możesz przesunąć się wewnątrz echa, ale wiedząc zsh, będę Założę się, że istnieje sposób: –