2015-08-31 26 views
6

.zshrc'de find için tüm hataları (çoğunlukla "İzin reddedildi") gizleyen basit bir işlev yazmaya çalışıyorum.Tüm argümanları zsh işlevinde geçirme

Şimdi, işlevi çağırarak tüm argümanları find'a nasıl iletebilirim?

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

ben $1 $2 $3 $4 ... yapabileceğini ama bu aptalca! Eminim çok basit bir yol var. Kullanım [email protected]

cevap

7

siz ilk argüman ancak tüm geçmek istediğini varsayarak tüm pozisyonel argümanlar, ör .:

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

genişler? –

+0

@rayandrews: 'find' komutundan önce' shift' komutunu ekleyin. – Thor

+0

Bu gibi bir durumda demek istiyorum: "echo" ilk arg: $ 1 ve kalan args: $ 2 $ 3 $ 4 $ 5 ... "... ekoyu değiştiremezsiniz. Ama zsh bilerek, Bir yol var bahse girerim –