乐闻世界logo
搜索文章和话题

如何在shell脚本中检查字符串是否为空?

1 个月前提问
1 个月前修改
浏览次数11

1个答案

1

在shell脚本中检查字符串是否为空的常见方法是使用 -z 测试操作符。该操作符用于测试字符串长度是否为零。如果字符串长度为零(即字符串为空),则条件为真。

下面是一个基本的示例脚本,展示如何使用 -z 操作符来检查字符串是否为空:

bash
#!/bin/bash # 定义一个字符串变量 str="" # 使用-z测试字符串是否为空 if [ -z "$str" ]; then echo "字符串为空" else echo "字符串不为空" fi

在这个脚本中,变量 str 被定义并初始化为一个空字符串。if 语句中的 [ -z "$str" ] 检查 str 是否为空。因为 str 是空的,所以输出将会是 "字符串为空"。

另外,也可以用非空检查来实现,使用 -n 测试操作符或者直接使用变量本身作为条件(在 shell 中非空字符串评估为真):

bash
#!/bin/bash # 定义一个字符串变量 str="" # 使用-n测试字符串是否非空 if [ -n "$str" ]; then echo "字符串不为空" else echo "字符串为空" fi # 或者直接用变量作为条件 if [ "$str" ]; then echo "字符串不为空" else echo "字符串为空" fi

这两个脚本中的第二种和第三种方法也是检查字符串是否为空的有效方式。在实际编写脚本时,可以根据具体需求选择最适合的检测方法。

2024年8月14日 17:30 回复

你的答案