以另一个用户身份运行命令时保留范围内的变量

时间:2011-06-01 00:53:02

标签: bash

我正在尝试以不同的用户身份运行命令并保存返回代码以便进一步处理。

在bash中这可能吗?

ret=99
pid=1234
su - deploy -c "cd $PROJECT_ROOT; kill -9 `echo $pid`; ret=$?" >> mylog.log 2>&1
echo $ret  # <= $ret still equals 99 when I want it to equal 0 or 1

1 个答案:

答案 0 :(得分:1)

不喜欢那样。

ret=99
pid=1234
su - deploy -c "cd $PROJECT_ROOT; kill -9 `echo $pid`" >> mylog.log 2>&1
ret=$?
echo $ret