2014-02-25 64 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