打破我在bash腳本漂亮abismal,我試圖來檢測字符串的索引在字符串中並返回-1最長匹配的檢測子說沒有找到擊:用方括號
我用下面的代碼來檢測在給定的uaeName串「光盤1」的索引:當「磁盤1」中不存在uaeName和uaeName包含括號出現
strindex() {
x="${1%%$2*}"
[[ $x = $1 ]] && echo -1 || echo ${#x}
}
index=`strindex "$uaeName" "Disk 1"`
echo "Disk 1 $index"
問題。
時說串$ uaeName是
HydroZone v1.0.0 (1994)(Skull Army)(SW).adf
Disk 1 -1
但只要$ uaeName包含括號的,只不過沒有它運作良好:
HydroZone v1.0.0 (1994)(Skull Army)(SW)[Blitz BASIC].adf
Disk 1 56
不知何故,[]內uaeName似乎被誤解,我該如何糾正這個問題?
謝謝你的答案
你能提供一個最小的,可覈查的輸入和預期的輸出?您的輸入字符串根本沒有「磁盤1」。 – Inian