मेरे पास एक स्क्रिप्ट है जो इस तरह से शुरू होती है
#!/bin/bash
VALKYRIE=~/myProjects/valkyrie
source $VALKYRIE/cluster.conf
लेकिन जब मैं इसे चलाता हूं तो यह वापस आ जाता है
line 2: ~/myProjects/valkyrie/cluster.conf: No such file or directory
लेकिन फ़ाइल मौजूद है और जब मैं source ~/myProjects/valkyrie/cluster.conf
इसे चलाता हूँ तो ठीक चलता है। कोई उपाय? मैंने VALKYRIE
चर को कहीं और सेट किया है ताकि मार्ग में हार्ड-कोड एक विकल्प न हो।
~
ठीक से विस्तार नहीं करने के साथ कुछ करना है। जब मैं आपकी स्क्रिप्ट को जानबूझकर नकली रास्ते से चलाता हूं, तो त्रुटि नहीं कहती है ~
, लेकिन पथ का विस्तार करता है। क्या आप ~
अपनी लिपि में निरपेक्ष पथ से प्रतिस्थापित करने का प्रयास कर सकते हैं ? इसके अलावा, एक स्क्रिप्ट में निम्नलिखित को चलाने का प्रयास करें echo ~
।
$HOME
इसके बजाय भी प्रयास कर सकते हैं ~
।
~/.pam_environment
तो यह इस तरह के टिल्ड विस्तार और पैरामीटर विस्तार के रूप में आम बातें आप एक खोल से उम्मीद थी, ऐसा नहीं करता है, इसलिए कोई भी, एक खोल स्क्रिप्ट नहीं है ~
और न ही $HOME
बदल दिया जाएगा। यदि आप ~/.profile
इसके बजाय उस पंक्ति को आगे बढ़ाते हैं, और export
सामने जोड़ते हैं , तो यह काम करना चाहिए।
source "${VALKYRIE}/cluster.conf"
।