2014-02-25 61 views
0

我有一個包裝創建一個shell腳本,它將在包裝本身內執行 在包裝器中,我找到了我的變量。包裝器創建的子腳本在創建時擴展了所有變量,但我故意不想展開的用戶名和密碼除外。 所以讓我們看看下面這樣從父項獲取變量的子shell

# this is my wrapper 
source /pathtofile 
# barrage of command , check conditions and functions .... 
echo "db_loader $para1 $para2 \$user \$pass " >> child.ksh 

所以我child.ksh看起來像這樣

# child.ksh 
    db_Loader P1 P2 $user $pass 

當我包裝內執行child.ksh。用戶,並通過讓你看到的空白有

+db_loader P1 P2 ' ' ' ' 

,顯然錯誤

不擴展的運行時間

爲什麼可以child.ksh搶家長變量 - 運行時間(因爲它的母公司中執行) 。任何工作 - 在這個周圍。

+0

您的源文件中的變量前面加上單詞'export'? I.E. 'export user = xxx; export pass ='abc''?他們需要成爲。您必須導出變量以使其對子進程可見。祝你好運。 – shellter

+0

當然可以。我有文件名導出 – user1874594

回答

0

duhh。我在函數內導出了一些變量,而這些變量並沒有在導出之前。固定它 TY Shellter