首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Bash if条件中出现"unary operator expected“错误

Bash if条件中出现"unary operator expected“错误
EN

Stack Overflow用户
提问于 2012-11-29 10:22:47
回答 4查看 488.2K关注 0票数 300

此脚本出现错误:

代码语言:javascript
运行
复制
elif [ $operation = "man" ]; then
    if [ $aug1 = "add" ]; then         # <- Line 75
    echo "Man Page for: add"
    echo ""
    echo "Syntax: add [number 1] [number 2]"
    echo ""
    echo "Description:"
    echo "Add two different numbers together."
    echo ""
    echo "Info:"
    echo "Added in v1.0"
    echo ""
elif [ -z $aug1 ]; then
    echo "Please specify a command to read the man page."
else
    echo "There is no manual page for that command."
fi

我得到了这个错误:

代码语言:javascript
运行
复制
calc_1.2: line 75: [: =: unary operator expected
EN

Stack Overflow用户

发布于 2014-05-01 16:11:34

您还可以为变量设置一个默认值,这样就不需要使用两个"[",这相当于两个进程("[“实际上是一个程序),而不是一个进程)。

它遵循以下语法:${VARIABLE:-default}。

整个事情必须以这样一种方式来考虑,即这个“默认”值是与“有效”值/内容不同的东西。

如果由于某种原因这是不可能的,你可能需要添加一个步骤,比如检查是否有值,就像"if -z $VARIABLE;then echo“"the variable need to be fine”或"if!-z $VARIABLE;then #everything is fine,then# all is fine,继续执行脚本的其余部分“。

票数 -13
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13617843

复制
相关文章

相似问题

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