मुझे .bash_profileएक बैच फ़ाइल स्क्रिप्ट के लिए env var (मेरे द्वारा घोषित ) पास करने में कठिनाई हो रही है जो BTEQ ऑपरेशन (टेरडेटा में ) को निष्पादित करता है।
.bash_profile में शामिल हैं:
export DBPASSWORD='password'
बैच फ़ाइल में शामिल हैं:
bteq < bteq_execution_test.sql > bteq_execution_test.log 2>&1 ${DBPASSWORD}
मैंने जाँच की कि ${DBPASSWORD}वास्तव में, फ़ाइल में पास हो रहा है - लेकिन इसे BTEQ स्क्रिप्ट में पासवर्ड के रूप में ठीक से स्वीकार नहीं किया जा रहा है, जो कुछ इस तरह दिखता है (भाग जहाँ त्रुटि है वहाँ लॉग इन करें):
.logon mydb/username,$4;
नोट: मैं ${DBPASSWORD}स्थिति द्वारा env var सेट पासवर्ड का संदर्भ दे रहा हूं । कृपया मुझे बताएं कि क्या कोई हाथ दे सकता है। आपका अग्रिम में ही बहुत धन्यवाद!
$4है। bashअपने आप पुनर्निर्देशन करता है, वे एक स्क्रिप्ट के लिए दृश्यमान नहीं होंगे। यदि bteqएक स्क्रिप्ट है तो यह DBPASSWORDपैरामीटर को देखेगा $1चाहे वह पुनर्निर्देशन से पहले या बाद में रखा गया हो।
< input cmd > output arg1 arg2साथ ही साथ काम करता हैcmd arg1 arg2 < input > output।