निम्नलिखित कोड में क्या गलत है?
name='$filename | cut -f1 -d'.''
जैसा कि, मुझे शाब्दिक स्ट्रिंग मिलता है $filename | cut -f1 -d'.'
, लेकिन यदि मैं उन उद्धरणों को हटा देता हूं तो मुझे कुछ भी नहीं मिलता है। इस बीच, टाइपिंग
"test.exe" | cut -f1 -d'.'
एक शेल में मुझे वह आउटपुट मिलता है जो मैं चाहता हूं test
,। मुझे पहले से ही पता $filename
है कि सही मूल्य सौंपा गया है। मैं जो करना चाहता हूं वह एक्सटेंशन के बिना फ़ाइल नाम के एक चर को असाइन करना है।
basename "$filename" .exe
। अन्यथा रिक्त स्थान वाले फाइलनाम बुरी खबर होगी।
basename $filename .exe
वही काम करेगा। यह मानते हुए कि आप हमेशा जानते हैं कि आप किस विस्तार को हटाना चाहते हैं।