【问题标题】:Passing value from one shell script to other将值从一个 shell 脚本传递到另一个
【发布时间】:2013-05-07 16:16:01
【问题描述】:

这就是我正在尝试的

脚本1

var=10
sh -x script2 "$var"

脚本2

su - someuser << EOF
1
cd dir
echo "This is : $1 Error" >> somefile
2
2
0
exit
EOF

script2 中的所有内容都在执行。当我检查文件“somefile”时,输出是

This is :  Error

没有显示var的值

【问题讨论】:

    标签: linux shell unix aix


    【解决方案1】:

    对我来说很好用:

    cat s1
    var=10
    sh -x /tmp/s2 "$var"
    
    cat s2
    su - my_id << EOF
    id
    echo $1
    EOF
    
    ./s1
    + su - my_id
    + 0<<
    id
    echo 10
    my_id's Password: <<< su is prompting for my password
    uid=222(my_id) gid=222(my_group) ...
    10
    

    因为你没有添加 #!/bin/xxxxx 我相信默认是执行 /bin/sh 或者 $SHELL 设置为。检查这两个是否符合您的预期。也许添加明确的 #!/bin/ksh(或 #!/bin/sh ...)以确保您获得了您想要/期望的 shell。

    【讨论】:

      猜你喜欢
      • 2017-11-07
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      • 1970-01-01
      • 2011-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多