首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Linux脚本中if表达式中的-z值是什么意思?

在Linux脚本中if表达式中的-z值是什么意思?
EN

Stack Overflow用户
提问于 2013-10-21 21:05:11
回答 2查看 15.2K关注 0票数 10

在这个脚本中,我找到了这个if表达式:

代码语言:javascript
运行
复制
if [ -z $1 ]; then
    echo "Usage: createpkg.sh <rev package>"
    exit
else
    CURRENT_VERSION=$1
fi

我的问题是我找不到这个-z值的确切含义。

从回显的内容中,我可以推断出(可能) $1变量表示软件版本。这个(可能) -z是一个空值。因此,如果我不将打包的软件版本传递给它而执行脚本,则会打印执行脚本所需的正确过程。

但我不确定-z值的真正含义。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-21 21:05:35

来自man test

代码语言:javascript
运行
复制
   -z STRING
          the length of STRING is zero

所以条件是:

代码语言:javascript
运行
复制
if [ -z $1 ]; then

表示“如果变量$1为空”。其中$1可能是脚本的第一个参数:如果您像./script <parameter1> <parameter2>一样执行它,那么$1=parameter1$2=parameter2等等。

票数 19
EN

Stack Overflow用户

发布于 2013-10-21 21:06:00

help test告诉我们:

代码语言:javascript
运行
复制
String operators:

  -z STRING      True if string is empty.

在您的示例中,如果没有提供参数,脚本将打印Usage: createpkg.sh <rev package>并退出。

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

https://stackoverflow.com/questions/19495367

复制
相关文章

相似问题

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