在使用 Linux 时,有需要通过 Shell 切换命令,并指定脚本的需求,下面通过示例介绍 Linux 如何通过 Shell 实现切换用户并执行命令
方法一
cat test.sh
#!/bin/bash
su - test <<EOF
pwd;
exit;
EOF
执行结果:
[root@xiexianbin_cn ~]# sh test.sh
Last failed login: Fri May 11 22:28:05 CST 2018 from 54.223.70.254 on ssh:notty
There were 4 failed login attempts since the last successful login.
/home/test
[root@xiexianbin_cn ~]#
方法二
su - test -c "pwd"
执行结果:
[root@xiexianbin_cn ~]# su - test -c "pwd"
/home/test
[root@xiexianbin_cn ~]#
说明
切换用户只执行一条命令的可以用:
su - test -c command
切换用户执行一个shell文件可以用:
su - test -s /bin/bash shell.sh