shell脚本中报binary operator expected错

shell脚本中遇到的坑

如下代码,报错【binary operator expected】

这个错说什么期望二进制运算符,没搞懂

# get date
if [ -z $1 ]; then
    echo 'no date set, exit now'
    exit 1
fi
d1=$(date -d "$1" +%Y-%m-%d" "%H:%M:%S)
if [ -z $2 ]; then
    d2=$(date -d "$1 +1 day" +%Y-%m-%d" "%H:%M:%S)
else
    d2=$(date -d "$2" +%Y-%m-%d" "%H:%M:%S)
fi

问题在哪里呢,这块if [ -z $1 ]; then中的获取变量,使用双引号引起来就好了!示范:if [ -z “$1” ]; then

你可能感兴趣的:(shell)