shell 判断字符串非空
时间: 2023-08-12 15:07:20 浏览: 64
在 shell 中,判断一个字符串是否非空可以使用以下语句:
```
if [ -n "$string" ]; then
echo "The string is not empty."
else
echo "The string is empty."
fi
```
其中,`-n` 表示判断字符串是否非空。`$string` 是要判断的字符串变量,需要用双引号引起来,以避免空格等特殊字符的影响。如果字符串非空,则会执行 `echo "The string is not empty."`,否则会执行 `echo "The string is empty."`。
相关问题
shell脚本if判断字符串
在shell脚本中,可以使用if语句来判断字符串。下面是一个判断字符串是否相等的示例:
```
if [ "$str1" = "$str2" ]; then
echo "str1 equals str2"
else
echo "str1 does not equal str2"
fi
```
其中,`$str1`和`$str2`表示要比较的两个字符串。`=`用于判断两个字符串是否相等。注意,`=`前后需要有空格。如果字符串相等,则输出"str1 equals str2",否则输出"str1 does not equal str2"。
除了判断相等,还可以使用其他运算符来判断字符串大小、是否为空等。例如:
- 判断字符串是否为空:`if [ -z "$str" ]; then`
- 判断字符串是否非空:`if [ -n "$str" ]; then`
- 判断字符串大小:`if [ "$str1" \< "$str2" ]; then`(注意,这里的`\<`是小于号,需要进行转义)
- 判断字符串是否包含某个子串:`if [[ "$str" == *"$substr"* ]]; then`
需要注意的是,上述运算符前后也需要有空格。
bash shell 判断字符串不为空
在 Bash shell 中,可以使用以下语法来判断一个字符串是否不为空:
```bash
if [ -n "$string" ]; then
# 字符串不为空的处理逻辑
fi
```
其中,`-n` 表示判断字符串是否非空,`$string` 表示要判断的字符串。如果 `$string` 不为空,则执行 `then` 后面的代码块。