trainDates='2018-07-25 2018-07-26 2018-07-26'
for dat in $trainDates
do
echo "$dat"
temp=$(echo "$trainDates"|awk -F ' ' '{print $1}')
echo "$temp"
if [ $dat==$temp ]; then echo "2"; fi
done
刚入手 shell,请问为什么会这样输出呢,跟我预想的不一样啊:
2018-07-25
2018-07-25
2
2018-07-26
2018-07-25
2
2018-07-26
2018-07-25
2
1
raynor2011 2018-08-01 14:33:08 +08:00
== 两边加空格
|
2
omph 2018-08-01 14:34:21 +08:00
[ $dat == $temp ]
|
3
zyp0921 2018-08-01 14:46:40 +08:00
最好再加上双引号
|
4
zyp0921 2018-08-01 14:47:03 +08:00
用=就可以了,==是判断数字的。=是判断字符串的
|
5
yangg 2018-08-01 15:06:10 +08:00
|
6
DongDongXie OP @raynor2011 谢谢,加空格之后就可以啦
|
7
DongDongXie OP @zyp0921 谢谢
|