【发布时间】:2014-02-22 18:02:41
【问题描述】:
这是一个示例 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 space 或 null。
谢谢
【问题讨论】:
-
空格不是整数。将
-eq更改为=以将带空格的变量与$IFS进行比较。 -
你的意思是
==或=? -
我想知道它是否为空数字不会改变值..但如果是空白数字会增加
-
@MortezaLSC 字符串比较没有区别。 Bourne shell 支持
=,Bash 支持==。但它们在 bash 中是同义词。
标签: linux bash if-statement input