首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果[ "x“!= x]在bash中做什么?

如果[ "x“!= x]在bash中做什么?
EN

Stack Overflow用户
提问于 2012-12-21 00:29:05
回答 1查看 4.7K关注 0票数 11

我正在查看virtualenv的源代码,激活脚本包含以下代码:

代码语言:javascript
运行
复制
if [ -z "$VIRTUAL_ENV_DISABLE_PROMPT" ] ; then  
    _OLD_VIRTUAL_PS1="$PS1"    
    if [ "x" != x ] ; then
        PS1="$PS1"
    else 
    if [ "`basename \"$VIRTUAL_ENV\"`" = "__" ] ; then
        # special case for Aspen magic directories
        # see http://www.zetadev.com/software/aspen/
        PS1="[`basename \`dirname \"$VIRTUAL_ENV\"\``] $PS1"
    else
        PS1="(`basename \"$VIRTUAL_ENV\"`)$PS1"
    fi
    fi
    export PS1
fi

if [ "x" != x ]这行是做什么的?X未在脚本中的其他位置定义。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-21 00:33:23

在Bash中,测试肯定会失败;[ "x" != x ]总是返回一个非零的退出状态(即"false"),因为"x"x都是由单个字符x组成的字符串。(在这种情况下,引号实际上没有任何作用。)

更重要的是,命令PS1="$PS1"实际上也没有做任何事情:它只是将变量PS1设置为等于它已经拥有的值。

我猜这个脚本是以某种方式自动生成的,在某些系统上,这些语句看起来会有点不同,也不会那么无用。

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

https://stackoverflow.com/questions/13976472

复制
相关文章

相似问题

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