मुझे .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
।