मैं अपनी पहली बैश स्क्रिप्ट को सही करने की कोशिश कर रहा हूं, और एक बिंदु पर स्क्रिप्ट के रूप में एक फ़ाइल नाम दिया गया है $1
। मुझे एक्सटेंशन के बिना फ़ाइल नाम निकालने की आवश्यकता है।
वर्तमान में, मैं मान रहा हूं कि सभी एक्सटेंशन तीन अक्षर हैं इसलिए मैं फ़ाइल नाम प्राप्त करने के लिए अंतिम 4 वर्ण हटाता हूं:
a="${1:0:-4}"
लेकिन मुझे उन एक्सटेंशन के साथ काम करने में सक्षम होना चाहिए जिनके पास तीन से अधिक वर्ण हैं, जैसे %~n1
कि विंडोज में।
क्या तर्कों से विस्तार के बिना फ़ाइल नाम निकालने का कोई तरीका है?