在bash脚本中使用它。

时间:2017-07-07 18:56:29

标签: linux bash shell

if [[ -z $1 ]]语句在这里确切检查了什么?

每当我运行它时输出如下:

  

[root @ localhost~] #sh script.sh

     

没有给出任何论据

#!/bin/bash

if [[ -z $1 ]]; then

echo "No argument is given"


elif [ "$1" == "testfile" ] ; then

echo "Right argument is given"

else

echo "Wrong argument is given"

fi

2 个答案:

答案 0 :(得分:3)

请参阅man bash

[[ expression ]]
     

根据条件表达式

的评估,返回0或1的状态

并在下面

-z string
     

如果字符串的长度为零,则为真。

答案 1 :(得分:-3)

$#变量将告诉您脚本传递的输入参数的数量。

或者您可以检查参数是否为空字符串:

if [ $# -eq 0 ]
  then
    echo "No arguments supplied"
fi