问题陈述:测试 Cygwinmintty bash会话是否为“以管理员身份运行”的最优雅和健壮的方法是什么?
为什么,具体的?mintty使用 Windows 时,我通常会打开几个终端(mintty没有选项卡)。最尴尬的是当我需要找到一个终端窗口时,例如我想运行ping或其他一次性程序时,我通过右键单击“以管理员身份运行”启动了该窗口。我想以视觉方式指示终端会话的“以管理员身份运行”(通过更改我的启动文件中的bashshell 提示变量)。PS1~/.bashrc
一些快速的潜在解决方案:
env输出,有很多不同之处。然而,很难说哪个在可移植到另一台 Windows 机器(可能运行不同版本的 Windows)方面最可靠。id,id -Gn如果以管理员身份运行,则更具体地显示不同的组。在我的Windows 7机器,我必须Administrators和root添加到列表中的组。同样,我不确定这是否可移植。id(1)命令具有类似目的的命令(但本机存在于 Windows - 或 Cygwin 中,但没有将 Windows 系统概念转换为 POSIX 模拟概念的过分牵强)。有更好或更优雅的建议吗?也许 cygwin 提供了专门用于此目的的命令实用程序?
更新:https : //stackoverflow.com/questions/4051883/batch-script-how-to-check-for-admin-rights/ 的 97% 重复- 区别只是在这里使用bash而不是(恕我直言奇怪和古老的)Windows cmd.exe. 请务必检查那里的答案和评论。