linux - 如何检查输入是否为空格和空值?

标签 linux bash if-statement input

这是一个示例 bash,您可以通过两种方式看到它:

1)首先

#!/bin/bash

number=0
echo "Your number is: $number"
IFS=' ' read -t 2 -p "Press space to add one to your number: " input

if [ "$input" -eq $IFS ]; then  #OR ==> if [ "$input" -eq ' ' ]; then
    let number=number+1
    echo $number
else
    echo wrong
fi

2)其次:

#!/bin/bash

number=0
echo "Your number is: $number"
read -t 2 -p "Press space to add one to your number: " input

case "$input" in  
    *\ * )
        let number=$((number+1))
        echo $number
        ;;
    *)
        echo "no match"
        ;;
esac

现在问题:

这两种方式,如何判断输入参数是white space还是null

我想在 bash 中同时检查 white spacenull

谢谢

最佳答案

你可以尝试这样的事情:

#!/bin/bash

number=0
echo "Your number is: $number"
IFS= read -t 2 -p "Press space to add one to your number: " input
# Check for Space
if [[ $input =~ \ + ]]; then
    echo "space found"
    let number=number+1
    echo "$number"
# Check if input is NULL
elif [[ -z "$input" ]]; then
    echo "input is NULL"
fi

关于linux - 如何检查输入是否为空格和空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21950315/

相关文章:

java - 为什么这个 If 语句返回 True?

linux - 获取一个字段的最后 n 个字符并在 Linux 中完成字符串的第二个字段

linux - 如何通过rsync只复制符号链接(symbolic link)

linux - bash 脚本的复杂操作

linux - 无法在 shell 脚本中使用 awk 命令进行打印

sql-server - UNION 与 IF 语句

if-statement - 谷歌表,如果声明多个条件

linux - tomcat 在 Linux 上无法启动

c - 从包装器中锁定程序

bash - 读取printf的结果 '%q' "$VAR"