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

标签 linux bash ubuntu if-statement ubuntu-12.04

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

if [ -z $1 ]; then
    echo "Usage: createpkg.sh <rev package>"
    exit
else
    CURRENT_VERSION=$1
fi

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

从回显的内容我可以推断出(也许)$1 变量代表软件版本。并且(也许)-z 是一个空值。因此,如果我执行脚本而不向它传递我要打包的软件版本,它会向我打印执行脚本的正确过程。

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

最佳答案

来自 man test :

   -z STRING
          the length of STRING is zero

所以条件:

if [ -z $1 ]; then

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

关于linux - Linux 脚本中 if 表达式中的 -z 值是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19495367/

相关文章:

linux - Dockerfile VOLUME 不起作用,而 -v 起作用

linux - "Make install"与 "Make install clean"?

regex - (bash) 检查 IP 是否在子网范围文件中

ubuntu - xubuntu 错误日志位置

linux - GTK+ 下划线 - body 疼痛

c - 如何解释 strace 输出?

linux - 使用 awk 替换列

python - 在 shell 脚本中的 shell 脚本中从 Python 脚本创建文件

ubuntu - Ansible - 在没有提示的情况下进行发布升级

linux - 分配给SLURM作业的核心