关于linux: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 “’

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理