OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

字符串表达式

以下表达式用于计算字符串:


表 27-2:测试字符串表达式


表达式为真如果...

表达式为真如果...

绳子 绳子 不为空。


图片

-n 绳子 长度 绳子 大于零。


图片

图片

-z 绳子 长度 绳子 是零。

string1 = 字符串 2 字符串 1 == 字符串 2

string1 和 string2 是相等的。 可以使用单等号或双等号,但最好使用双等号。


图片

图片

图片

图片

string1 != string2 string1 string2 不相等。 string1 > string2 string1 排序后 string2. string1 < string2 string1 排序之前 string2.


图片

警告提供两款控制器:一款是 > < 表达式运算符在与 测试. 如果不是,它们将被 shell 解释为重定向操作符,具有潜在的破坏性结果。 另请注意,虽然 打坏 文档指出排序顺序符合当前语言环境的整理顺序,但事实并非如此。 ASCII (POSIX) 顺序用于 打坏 直到并包括 4.0。


图片


这是一个包含字符串表达式的脚本:



#!/斌/庆典


# test-string: 评估字符串的值 ANSWER=maybe

如果 [ -z "$ANSWER" ]; 然后

回声“没有答案。” >&2 退出1

fi


如果 [ "$ANSWER" = "是"]; 然后回声“答案是肯定的。”

elif [ "$ANSWER" = "no" ]; 然后回声“答案是否定的”。

elif [ "$ANSWER" = "也许" ]; 然后回声“答案是可能的。”

其他

echo “答案是未知的。”

fi

#!/斌/庆典


# test-string: 评估字符串的值 ANSWER=maybe

如果 [ -z "$ANSWER" ]; 然后

回声“没有答案。” >&2 退出1

fi


如果 [ "$ANSWER" = "是"]; 然后回声“答案是肯定的。”

elif [ "$ANSWER" = "no" ]; 然后回声“答案是否定的”。

elif [ "$ANSWER" = "也许" ]; 然后回声“答案是可能的。”

其他

echo “答案是未知的。”

fi


在这个脚本中,我们评估常量 回答. 我们首先判断字符串是否为空。 如果是,我们终止脚本并将退出状态设置为 XNUMX。 请注意应用于 echo 命令的重定向。 这会重定向错误消息“没有答案”。 标准错误,这是处理错误消息的正确方式。 如果字符串不为空,我们评估字符串的值,看它是否等于“是”、“否”或“可能”。 我们通过使用来做到这一点 ELIF,这是“else if”的缩写。 通过使用 ELIF,我们能够构建一个更复杂的逻辑测试。


OnWorks 的顶级操作系统云计算: