2015-08-31 4 views
6

Ich versuche, eine einfache Funktion in meinem. Zshrc schreiben, die alle Fehler (meist "Berechtigung verweigert") für find verbirgt.Übergabe aller Argumente in Zsh-Funktion

Nun, wie kann ich alle Argumente übergeben durch den Aufruf der Funktion auf find?

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

Ich könnte $1 $2 $3 $4 ... tun, aber das ist dumm! Ich bin mir sicher, dass es einen wirklich einfachen Weg gibt.

Antwort

7

Verwendung [email protected], dehnt es sich auf alle Positionsargumente, z.B .:

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

Annahme Sie alle, aber das erste Argument übergeben wollte? –

+0

@rayandrews: Fügen Sie vor dem 'find' Befehl einen' shift' Befehl hinzu. – Thor

+0

Ich meine in einer Situation wie dieser: "Echo" erste Arg ist: $ 1 und die restlichen Argumente sind: $ 2 $ 3 $ 4 $ 5 ... "... Sie können nicht innerhalb des Echos verschieben. Aber Zsh zu wissen, werde ich wette, es gibt einen Weg. –