如何检查cygwin mintty / bash是否以管理员身份运行?

问题陈述:测试Cygwinmintty bash会话是否为“以管理员身份运行”的最优雅,最可靠的方法是什么?

为什么要这样?mintty使用Windows时,我通常会打开几个终端(mintty没有选项卡)。最尴尬的是,当我需要找到一个通过右键单击“以管理员身份运行”而启动的终端窗口时,例如,当我想运行ping或执行其他一次性过程时。我想直观地指出终端会话的“以管理员身份运行”(通过更改启动文件中bashshell提示变量)。PS1~/.bashrc

一些快速的潜在解决方案:

  1. 我可以比较一些环境变量的值。通过快速查看env输出,可以发现很多差异。但是,就可移植性到另一台Windows机器(也许正在运行不同版本的Windows)而言,很难确定哪个最可靠。
  2. id,更具体地说,id -Gn如果以管理员身份运行,则显示不同的组。在我的Windows 7计算机中,我Administratorsroot组已添加到列表中。同样,我不确定这是否可移植。
  3. 我可以尝试将文件写入到普通用户失败的位置。但是我不想将任何文件写到陌生的地方-在某些想像的情况下,这可能会造成破坏性的破坏(例如,存储介质出现故障),这似乎完全不符合我的口味。
  4. 运行一些Windows程序,如果该命令是以“管理员身份”运行的,则将通过返回状态或输出来指示。最好的用途与UNIXid(1)命令的用途类似(但本机存在于Windows-或Cygwin中,但没有将Windows系统概念转换为POSIX仿真概念)。

还有更好或更优雅的建议吗?也许cygwin提供了专用于此目的的命令实用程序?

更新: 97%重复https://stackoverflow.com/questions/4051883/batch-script-how-to-check-for-admin-rights/-区别只是在这里使用bash而不是(恕我直言,怪异而古怪的)Windows cmd.exe请在此处检查答案和评论。

李达瑞

出于相同的原因,我只是编写了此函数。我不知道哪个外壳程序具有管理员权限。

function isadmin()
{
    net session > /dev/null 2>&1
    if [ $? -eq 0 ]; then echo "admin"
    else echo "user"; fi
}

针对Windows cmd shell从此答案https://stackoverflow.com/a/11995662/307968改编而来如果您是管理员,则网络会话将返回0状态。

现在,我只需要更改提示或标题栏颜色即可。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Cygwin Bash.exe与mintty.exe

来自分类Dev

Cygwin Bash.exe与Mintty.exe

来自分类Dev

如何检查Visual Studio是否使用Visual Studio SDK以管理员身份运行?

来自分类Dev

当以管理员身份运行时,如何在Cygwin中获得实际的当前用户?

来自分类Dev

当以管理员身份运行时,如何在Cygwin中获得实际的当前用户?

来自分类Dev

如何让“以管理员身份运行”罐中的应用

来自分类Dev

如何在Windows中以管理员身份运行命令

来自分类Dev

如何始终以管理员身份运行Process Explorer?

来自分类Dev

如何以管理员身份运行VirtualPC VM?

来自分类Dev

如何以管理员身份运行Microsoft Code Writer?

来自分类Dev

如何以非管理员身份运行Chromium Edge?

来自分类Dev

如何以管理员身份运行 CMD.exe

来自分类Dev

如何检查以管理员身份运行的可执行文件?

来自分类Dev

如何创建以管理员身份运行的工作流操作,而不是以用户身份运行?

来自分类Dev

c ++如何获取非管理员帐户下的%AppData%路径并以管理员身份运行VS2013

来自分类Dev

如何从非管理员用户会话以管理员身份运行带有GUI的应用程序?

来自分类Dev

如何检查我的程序是否通过C ++在管理员权限下运行?

来自分类Dev

如何使标准用户能够以管理员身份运行任务管理器(Windows 8.1)

来自分类Dev

如何从 Pendrive 以管理员身份运行 .bat(运行同一目录中的 .exe)?

来自分类Dev

检查当前命令提示符是否以管理员身份启动

来自分类Dev

在xterm(mintty,bash)中,如何在存在的vim进程中打开文件?

来自分类Dev

Magento如何检查管理员是否已登录(前端)

来自分类Dev

如何检查是否使用管理员帐户登录?

来自分类Dev

Joomla:如何检查管理员是否已登录

来自分类Dev

我如何检查用户是否是管理员

来自分类Dev

在C#中,如果登录身份帐户是非管理员用户,如何停止/启动/检查是否已注册?

来自分类Dev

如何以Bamboo管理员身份运行批处理脚本?

来自分类Dev

如何从Java程序以管理员身份运行批处理文件

来自分类Dev

如何从提升的PowerShell控制台以非管理员身份运行进程?

Related 相关文章

  1. 1

    Cygwin Bash.exe与mintty.exe

  2. 2

    Cygwin Bash.exe与Mintty.exe

  3. 3

    如何检查Visual Studio是否使用Visual Studio SDK以管理员身份运行?

  4. 4

    当以管理员身份运行时,如何在Cygwin中获得实际的当前用户?

  5. 5

    当以管理员身份运行时,如何在Cygwin中获得实际的当前用户?

  6. 6

    如何让“以管理员身份运行”罐中的应用

  7. 7

    如何在Windows中以管理员身份运行命令

  8. 8

    如何始终以管理员身份运行Process Explorer?

  9. 9

    如何以管理员身份运行VirtualPC VM?

  10. 10

    如何以管理员身份运行Microsoft Code Writer?

  11. 11

    如何以非管理员身份运行Chromium Edge?

  12. 12

    如何以管理员身份运行 CMD.exe

  13. 13

    如何检查以管理员身份运行的可执行文件?

  14. 14

    如何创建以管理员身份运行的工作流操作,而不是以用户身份运行?

  15. 15

    c ++如何获取非管理员帐户下的%AppData%路径并以管理员身份运行VS2013

  16. 16

    如何从非管理员用户会话以管理员身份运行带有GUI的应用程序?

  17. 17

    如何检查我的程序是否通过C ++在管理员权限下运行?

  18. 18

    如何使标准用户能够以管理员身份运行任务管理器(Windows 8.1)

  19. 19

    如何从 Pendrive 以管理员身份运行 .bat(运行同一目录中的 .exe)?

  20. 20

    检查当前命令提示符是否以管理员身份启动

  21. 21

    在xterm(mintty,bash)中,如何在存在的vim进程中打开文件?

  22. 22

    Magento如何检查管理员是否已登录(前端)

  23. 23

    如何检查是否使用管理员帐户登录?

  24. 24

    Joomla:如何检查管理员是否已登录

  25. 25

    我如何检查用户是否是管理员

  26. 26

    在C#中,如果登录身份帐户是非管理员用户,如何停止/启动/检查是否已注册?

  27. 27

    如何以Bamboo管理员身份运行批处理脚本?

  28. 28

    如何从Java程序以管理员身份运行批处理文件

  29. 29

    如何从提升的PowerShell控制台以非管理员身份运行进程?

热门标签

归档