I have two shell scripts:
one.sh
echo "hello"
su - oracle -c "sh /tmp/two.sh"
echo "good bye"
two.sh
echo "bla bla bla"
我想要以“root”的身份运行“one.sh”,并查看以下输出:
hello
bla bla bla
good bye
这怎么可能呢?
在线上
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"命令的绝对路径,以确保不会发生错误。
首先为您的脚本设置chmod +x
尝试:
echo "hello"
su - oracle -c /tmp/two.sh
echo "good bye"
su - oracle -c /tmp/two.sh
,并告诉输出结果是什么。 - MLSC