shell中如何判定一个字符串里是否有空格?

就比如我输入的Argument是"1000 1011",我需要判断是否有空格,如果有的话,我要把它分成两部分并传给两个不同的变量,比如$NUM1,$NUM2这样。

#!/bin/bash
S='1000 1011'
echo $S | grep " " >/dev/null 2>&1
if [ $? = 0 ];then
num1=$(echo $S | awk '{print $1}')
num2=$(echo $S | awk '{print $2}')
echo "NUM1=$num1"
echo "NUM2=$num2"
else
echo "没有空格"
fi
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-13
S="1000 1011"
if [ "${S/ /}" = "$S" ]
then
echo "no space"
else
echo "space"
fi追问

不知道是不是和系统有关,我的是Ubuntu10.04下的system shell
能和我讲一下if那行的意义吗? 比如为什么要作一个赋值操作?
而且这个在我这里似乎不work。

第2个回答  2011-12-13
s="1100 0110"
b1="${s##* }"
b2="${s%% *}"
echo b1
echo b2

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网