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

2024年11月15日 09:47
有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