linux - cygwin 和 Linux - 未设置 $USER 时获取当前用户
问题描述
我认为 $USER 是 UNIX 系统中的标准并且 cygwin 模拟了这一点,所以我一直在 bash 脚本中使用它,该脚本适用于 cygwin 和 unix/linux。
但是我有一台未设置 $USER 的 cygwin 主机。
注意:whoami 打印 MyHost\user123 不仅仅是 user123,并且设置了 $USERNAME(它是一个 windows 变量),所以我将脚本更改为使用 $USER(如果已设置)然后使用 $USERNAME。
作为一种解决方法,我将在我的 Windows 登录中将其设置为用户定义的环境变量。
Win 7 cygwin 系统($USER 未设置)
uname -a
CYGWIN_NT-6.1-WOW host2 2.6.0(0.304/5/3) 2016-08-31 14:27 i686 Cygwin
Win 10 cygwin 系统(已设置 $USER)
uname -a
CYGWIN_NT-10.0-WOW host3 2.6.0(0.304/5/3) 2016-08-31 14:27 i686 Cygwin
在 cygwin 和 linux 上获取当前用户的登录名是否有最佳实践?
解决方案
标准的 POSIX 变量实际上是 LOGNAME,所以你真的应该使用它。
推荐阅读
- java - Java 内存泄漏与数据源
- ocr - Google Vision API OCR - 不能很好地识别阿拉伯语
- deep-learning - 在 Mac OS El Capitan 下的 Nvidia GeForce GT 120 GPU 上运行 PyTorch 我需要什么版本的 CUDA
- docker - 错误,“无法使用前端 dockerfile.v0 解决”
- flutter - 如何在没有firebase的情况下在flutter中进行深度链接?
- ansible - 将 JWT 令牌插入 Ansible Playbook 的问题
- c - 尝试反转字符串时发生分段错误
- r - R plotly:如果关键字段与所选点的不同字段的元素匹配,则突出显示键
- visual-studio - 每次我打开 SLN,Visual Studio 都会失去我的 TFS 连接
- android-studio - 自动生成的文件中未解决的引用 [Android Studio/Kotlin]