首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Unix脚本whoami/$USER未按预期工作

Unix脚本whoami/$USER未按预期工作
EN

Stack Overflow用户
提问于 2013-04-30 03:26:24
回答 3查看 4.2K关注 0票数 1

嗨,我有如下脚本。

代码语言:javascript
复制
if [[ 'whoami' -eq "test" ]]; then
    echo "test user" 
else
    echo "Not a test user" 
fi

这是返回测试用户,即使我的用户不是文本。如果有人能指出我愚蠢的错误,那就太好了。

EN

回答 3

Stack Overflow用户

发布于 2013-04-30 03:31:04

-eq用于整数测试。例如:

代码语言:javascript
复制
kent$  [[ "a" -eq  "b" ]] && echo "y" || echo "n"                                                                                                                           
y
kent$  [[ 34 -eq  35 ]] && echo "y" || echo "n"                                                                                                                             
n

尝试:

代码语言:javascript
复制
kent$  [[ "a" == "b" ]] && echo "y" || echo "n"                                                                                                                           
n
票数 2
EN

Stack Overflow用户

发布于 2013-04-30 03:28:20

您正在使用单引号代替反引号:

代码语言:javascript
复制
if [[ `whoami` -eq "test" ]]; then   # Not 'whoami'

为了提高可读性(以及更容易的嵌套,如果适用),使用

代码语言:javascript
复制
if [[ $(whoami) -eq "test" ]]; then

而不是。

票数 1
EN

Stack Overflow用户

发布于 2013-04-30 06:13:06

就像这样:

代码语言:javascript
复制
if [[ `whoami` == "test" ]]; then  # Not 'whoami' -eq
    echo "test user" 
else
    echo "Not a test user" 
fi

不要使用单引号和'-eq‘

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16286636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档