shell脚本中报binary operator expected错

主宰稳场 提交于 2020-01-20 12:41:04

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!