यह फ़ंक्शन मेरे एक उपयोगकर्ता के ~ / .bashrc में मौजूद है:
function rm()
{
ls $*
echo "rm?"
read ans
if [ "$ans" == 'y' ]; then
/bin/rm $*
fi
}
उपयोगकर्ताओं को चलाने के लिए आवश्यक मेरी ksh स्क्रिप्ट में, मेरे पास इस तरह की एक पंक्ति है:
[[ "$KEEP" = "" ]] && \rm $FILE
जबकि बैकस्लैश उपयोगकर्ता द्वारा परिभाषित उपनामों से बच जाता है, यह स्क्रिप्ट को उपयोगकर्ता परिभाषित फ़ंक्शन को उसी नाम से चलाने से नहीं रोकता है। नतीजतन, सिस्टम फ़ंक्शन के बजाय मेरे उपयोगकर्ता के आरएम () फ़ंक्शन को कहा जाता है।
मुझे यह सुपरयूज़र प्रश्न प्रश्न और प्रतिक्रिया मिला, लेकिन संकल्प केवल एक अंतर्निहित फ़ंक्शन पर लागू होता है, न कि सिस्टम कमांड पर।
आरएम कमांड को लागू करने से सबसे अच्छा क्या है, और एक उपनाम या फ़ंक्शन नहीं है? क्या मुझे rm और पूरे सिस्टम कमांड को निर्दिष्ट करना चाहिए जिसे मैं सुनिश्चित करना चाहता हूं कि इसे सही तरीके से निष्पादित किया जाए? क्या कोई बेहतर तरीका है?