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

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

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

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

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

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

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

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

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

参考资料:get

相关文章
相关标签/搜索