【问题标题】:What does [[ -z "path" ]] mean in bash [duplicate][[ -z“path”]]在bash中是什么意思[重复]
【发布时间】:2015-11-17 23:00:56
【问题描述】:

我在 bash 脚本中找到了这一行:

if [[ -z "$VIRTUAL_ENV" ]]; then
    source ./env/bin/activate
fi

我想知道这是什么意思?

(我希望这不是一个重复的问题,但是很难用谷歌搜索 bash 命令,因为它们是单个字母)

【问题讨论】:

  • 我的意思是“为空”。 IOW,“如果没有定义 virtualenv,那么 ...”
  • 谷歌搜索提示:将 -z 放在引号中,否则 - 会否定搜索
  • 仅供参考:-z 不是单个字母的 bash 命令。它是[[ shell 内置的参数。

标签: python bash virtualenv


【解决方案1】:

来自man test (link)

它检查字符串是否为零长度。在bash中没有空字符串和空字符串的区别,所以如果字符串没有被设置也返回true。

【讨论】:

  • 也记录在 man bashman test
  • ABS 是一个相当糟糕的参考选择——不经常更新,也不关心展示良好实践。请考虑使用手册页、bash-hackers wiki 或 wooledge wiki。
  • @CharlesDuffy - 在这种情况下,它是参考的理想选择,因为它是第一个相关的谷歌结果(使其成为找到正确答案的最快方法)。但是,我原则上同意此信息有更好的规范参考,现在将编辑我的帖子以反映这一点。
  • 如果人们停止链接到它,它就不会成为谷歌搜索结果。
猜你喜欢
  • 2013-08-08
  • 2013-01-04
  • 2021-07-31
  • 1970-01-01
  • 2012-04-19
  • 2021-02-11
  • 1970-01-01
  • 1970-01-01
  • 2019-02-19
相关资源
最近更新 更多