我試圖編寫一個函數來比較產品的版本。使用KSH的版本比較
我的版本可以是XX.XX.XX或xx-xx-xx,它可以用「。」分隔。或「 - 」 和數量的字段可以是不同的或者XX.XX或xx.xx.xx或XX.XX.XX.XX
其中IM要去比較將在相同的分隔符版本和與該字段
#!/bin/ksh
set -x
compareVersions()
{
typeset IFS='.'
typeset -a v1=($1)
typeset -a v2=($2)
typeset n diff
for ((n=0; n<4; n+=1)); do
diff=$((v1[n]-v2[n]))
if [ $diff -ne 0 ] ; then
[ $diff -le 0 ] && echo '-1' || echo '1'
return
fi
done
echo '0'
} # ---------- end of function compareVersions ----------
#compareVersions "6100-09-03" "6100-09-02"
compareVersions "6100.09.03" "6100.09.02"
請檢查並給我建議
我已經與我有我的其他職位以下的事情試過..但沒有運氣..希望應該有一些修改應該做的。我必須跨平臺使用(linux,solaris,AIX),所以我更喜歡KSH,但我只有在shell腳本中才有想法。
非常感謝。它爲我的作品... – clement
如果成功,那麼你可能想考慮點擊「接受答案」 - 在那裏。 –