技术解析

shell for 循环问题
0
2021-06-23 12:18:18
idczone
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

== 两边加空格

[ $dat == $temp ]

最好再加上双引号

用=就可以了,==是判断数字的。=是判断字符串的

https://devhints.io/bash

谢谢,加空格之后就可以啦

谢谢

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服