0
下面是我的代碼。的Unix shell - 附近意外的標記語法錯誤'做」
#!/bin/ksh
curdate=$(date '+%d%h,%Y')
while read line;
do
echo "$line" > new10.txt
str0=$(cut -f 2 new10.txt)
str01=$(cut -f 1 -d ',' new10.txt)
str1=$(cut -f 2 -d ',' new10.txt)
str2=$(cut -c 3 $str1)
if [ $str2=':' ];
then
str2=',2016'
finalstr=$str01$str2
if [ '01jan2017' -le $finalstr -le $curdate ];
then
finalstr1=$str01',2017'
else
finalstr1=$str01',2016'
echo $finalstr1 > datefinal.txt
fi
done < /export/home/islams/PISAS/userwiseutil/date.txt
我收到以下錯誤: date1.sh:22行:附近意外的標記done' date1.sh: line 22:
語法錯誤進行< /export/home/islams/PISAS/userwiseutil/date.txt」
您還沒有關閉您的if語句之一。我看到兩個'if'只有一個'fi'。此外,你應該使用縮進使事情更容易閱讀。 – ccarton
你看,我已經添加了壓痕問題變得很明顯。請在發佈到stackoverflow之前進行縮進,閱讀您的文章更加愉快,它將解決這種錯誤 – Aaron
非常感謝我的愚蠢錯誤。請您告訴我,如果在一個範圍內比較日期的if語句是正確的? –