मेरी बैश स्क्रिप्ट में एक चर है जिसका मूल्य कुछ इस प्रकार है:
~/a/b/c
ध्यान दें कि यह अनएक्सपेन्डेड टिल्ड है। जब मैं इस चर पर ls-टाइप करता हूं (इसे $ VAR कहता हूं), मुझे ऐसी कोई निर्देशिका नहीं मिलती है। मैं इस वैरिएबल को व्याख्या / विस्तार नहीं करने देना चाहता हूं। दूसरे शब्दों में, मैं चाहता हूँ कि निष्कासन पर रोक लगाई जाए लेकिन मूल्यांकित आदेश को न चलाया जाए। क्या यह बाश में संभव है?
बिना विस्तार के मैंने इसे अपनी स्क्रिप्ट में कैसे पारित किया? मैंने इसे दोहरे उद्धरण चिह्नों के साथ पास करने में तर्क पारित किया।
इस कमांड को यह देखने की कोशिश करें कि मेरा क्या मतलब है:
ls -lt "~"
यह ठीक ऐसी स्थिति है, जिसमें मैं चाहता हूं। मैं चाहता हूं कि टिल्ड का विस्तार किया जाए। दूसरे शब्दों में, मुझे इन दोनों आदेशों को समान बनाने के लिए किस जादू की जगह लेनी चाहिए:
ls -lt ~/abc/def/ghi
तथा
ls -lt $(magic "~/abc/def/ghi")
ध्यान दें कि ~ / abc / def / ghi मौजूद हो सकता है या नहीं।
foo=~/"$filepath"
याfoo="$HOME/$filepath"
dir="$(readlink -f "$dir")"
eval
।