Linux切换用户并继续执行命令

Posted Simon Gan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux切换用户并继续执行命令相关的知识,希望对你有一定的参考价值。

本文介绍以下两个方面
  1. 两种继续执行命令的方法
  2. 编译时可能碰到的问题

方法1 :EOF
例如:vi test.sh输入下面内容后
用EOF则代表把内容当作标准输入传给程序

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

常见的错误(错误示范):
unexpected EOF while looking for matching ``\'

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

解决: 修改为正确的英文符号或者去掉多余的符号,EOF前面不应该有任何的空格或多余符号。

方法2:su -c
意思: 变更帐号为 root 并在执行 ls 指令后退出变回原使用者

su -c ls root
# -c command:变更账号为USER的使用者,并执行指令(command)后再变回原来使用者。

参考资料:

  • su -c 命令详解
  • Shell 继续执行命令
  • Shell 执行错误 unexpected EOF while looking for matching ``\'

以上是关于Linux切换用户并继续执行命令的主要内容,如果未能解决你的问题,请参考以下文章

linux下切换用户命令?

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

Shell脚本中实现切换用户并执行命令操作

linux su和sudo命令的区别

linux su和sudo命令的区别

linux su和sudo命令的区别