在另一个shell脚本中使用不同的用户运行shell脚本

时间:2014-02-18 16:23:20

标签: linux bash shell

我有两个shell脚本:

one.sh

echo "hello"
su - oracle -c "sh /tmp/two.sh" 
echo "good bye"

two.sh

echo "bla bla bla"

我想将“one.sh”作为“root”运行并看到此输出:

hello
bla bla bla
good bye

怎么可能?

2 个答案:

答案 0 :(得分:2)

在第

su - oracle -c "sh two.sh"

解释器不知道文件“two.sh”的路径。

尝试使用绝对路径...(例如,sh /tmp/two.sh“)。

所以:

root@myServer:/tmp# ./one.sh
hello
bla bla bla
good bye

<强>更新

请检查oracle用户是否可以找到“sh”...否则,请指定“sh”的绝对路径...

答案 1 :(得分:1)

首先将chmod +x设置为您的脚本

尝试:

echo "hello"
su - oracle -c /tmp/two.sh
echo "good bye"