linux命令怎么让su后的命令执行

2024-11-15 09:47:37
推荐回答(5个)
回答1:

可以使用 <
脚本内容:
cat test.sh
代码如下:

#!/bin/bash
su - test <pwd;
exit;
EOF

当然也可以用下面的命令来执行

代码如下:

su - test -c "pwd"

ps:
切换用户只执行一条命令的可以用: su - oracle -c command
切换用户执行一个shell文件可以用:su - oracle -s /bin/bash shell.sh

回答2:

function pritf()
{
su username -c "echo 登录成功"
}

回答3:

su username -c "echo 登录成功"

回答4:

这个问题的关键在于su命令和echo命令的发起者是su执行之前的用户,也就是设su和echo次序或同时执行时,发起者是user,当su执行成功时,shell已经切到root下,echo的执行结果依然在原来的user用户的shell里
此时你退回到user就能看到echo的执行结果了。
可见linux的安全性和权限管理的严谨。

回答5:

su - username