【问题标题】:What does -z and -o commands mean in Linux shell script?Linux shell 脚本中的 -z 和 -o 命令是什么意思?
【发布时间】:2018-10-17 22:50:56
【问题描述】:

我有一个 script.sh shell 脚本,其中我在函数中遇到以下行:

if [ -z "$CORE_PEER_TLS_ENABLED" -o "$CORE_PEER_TLS_ENABLED" = "false" ]; 

then
        ....

else
        ....

fi

我想知道If语句中的-z-o是什么意思

谢谢

【问题讨论】:

  • 谷歌“人测试”...说真的,它会给你你所需要的
  • [这里其实是一个命令,是test的别名。看man test
  • 您的代码正在检查CORE_PEER_TLS_ENABLED 是否为空或是否设置为false。请参阅 Unix 和 Linux 网站上的这篇文章以了解 [ ] 和其他变体:What is the difference between the Bash operators [[ vs [ vs ( vs ((?
  • help test | grep -- -z
  • 知道了,非常感谢!

标签: linux bash shell unix command


【解决方案1】:

其实很基本: -z 表示测试空字符串(零长度) -o 是 OR 操作

如果您想在 bash 中编写脚本,我建议您阅读“Bash Beginners Guide”。它将涵盖必要的基础知识,并且不会花费太多时间。

http://tldp.org/LDP/Bash-Beginners-Guide/html/

【讨论】:

  • TLDP 不是 Bash 的重要来源——它充满了不准确之处。
  • @codeforester 你对初学者还有什么建议吗?应该可以快速学习并帮助您入门。当然还有很多高级的和综合的。
猜你喜欢
  • 2021-05-25
  • 1970-01-01
  • 2012-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-22
  • 1970-01-01
相关资源
最近更新 更多