我想创建一个必须使用sudo执行的bash脚本,但应考虑执行它的非sudo用户的名称。因此,如果用户bob
运行,sudo ./myscript.sh
我想myscript.sh
知道bob
是执行它的那个人。
让我们看看里面myscript.sh
:
USER=$(whoami)
# Do something that takes into account the username.
我怎么知道产生该过程的用户名?更具体地讲,我应该怎么用的,而不是whoami
来获得bob
,而不是root
?
为什么不编辑?现在修复。
—
marcio
太琐碎了,编辑内容必须至少包含6个字符,至少应包含建议的字符。
—
nyuszika7h 2014年
好的,我明白了。感谢您的提示:DI通常
—
marcio
#!/usr/bin/env bash
在我的bash脚本上放置一个像这样的hashbang 。
如果用
—
nyuszika7h 2014年
sh
或其他方式显式调用hashbang,则会将其忽略。
USER=$(whoami)
。请注意,USER
已经作为外壳内部变量存在。另外,如果它是bash脚本,请不要使用来运行它sh
,因为仅有POSIX兼容功能集。