![无法以用户身份在 Linux 中执行命令](https://linux22.com/image/3261/%E6%97%A0%E6%B3%95%E4%BB%A5%E7%94%A8%E6%88%B7%E8%BA%AB%E4%BB%BD%E5%9C%A8%20Linux%20%E4%B8%AD%E6%89%A7%E8%A1%8C%E5%91%BD%E4%BB%A4.png)
这里有两个场景。
Sudo 权限是为特定组授予的。
A。将创建一个新用户并将其分配给该组。 b.使用此用户,当我们通过 shell 脚本执行命令时,它无法执行任何命令(例如 mkdir),它显示“找不到命令”错误。但
A。当在打开的终端中执行相同的命令时,它会执行并创建目录。任何关于相同的想法都会非常有帮助。
如果您需要更多这方面的信息,请告诉我。
答案1
尝试在脚本中添加二进制文件的完整路径;执行它:您可以使用后跟命令来/bin/mkdir
找到命令的完整路径。which
然后它将返回命令的完整路径,例如:
$ which mkdir
/bin/mkdir
您还可以使用 来设置运行脚本的环境的 PATH export
。要在脚本中执行此操作,请export PATH=$PATH:/bin:/usr/bin:/path/to/whateverelse
在脚本的开头添加与此类似的行:。
看http://www.cyberciti.biz/faq/unix-linux-adding-path/了解详情。
就我个人而言,我建议仅使用二进制文件的完整路径。