मेरे पास एक स्क्रिप्ट है जो इस तरह से शुरू होती है
#!/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"।