2015-08-31 7 views
6

में सभी तर्कों को पास करना मैं अपने .zshrc में एक साधारण फ़ंक्शन लिखने की कोशिश कर रहा हूं जो find के लिए सभी त्रुटियों (ज्यादातर "अनुमति अस्वीकृत") को छुपाता है।zsh फ़ंक्शन

अब, मैं फ़ंक्शन को find पर कॉल करके दिए गए सभी तर्कों को कैसे पारित कर सकता हूं?

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

मैं $1 $2 $3 $4 ... कर सकता था लेकिन यह बेवकूफ है! मुझे यकीन है कि वास्तव में एक आसान तरीका है।

उत्तर

7

उपयोग [email protected], यह सब स्थितीय तर्क, उदा .:

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

मान आप लेकिन पहला तर्क सब पारित करने के लिए चाहता था करने के लिए फैलता है? –

+0

@rayandrews: 'find' कमांड से पहले 'shift' कमांड जोड़ें। – Thor

+0

मेरा मतलब इस तरह की स्थिति में है: "गूंज" पहला तर्क है: $ 1 और शेष तर्क हैं: $ 2 $ 3 $ 4 $ 5 ... "... आप गूंज के अंदर नहीं जा सकते हैं। लेकिन zsh जानना, मैं शर्त है कि एक तरीका है। –