我寫了一個shell腳本,它在運行bash shell的服務器上執行數據操作。函數失敗 - shell腳本從Bash轉換爲Korn
我的腳本有哪些ZIP文件
function getCTLfile() {
for i in ${Array[@]}; do
if [[ `echo ${i}|awk -F . '{print $NF}'` == "ctl" ]]; then
echo "${i}"
fi
done
}
內檢索數據的功能,它的偉大工程,但是這款機器的硬件有故障所以我們的系統管理員要求我端口我的代碼到另一臺服務器上運行的Korn shell。
當我運行我的腳本,它失敗了我的功能!即使我從命令行輸入它。
$ function getCTLfile() {
-ksh: syntax error: `(' unexpected
我需要在任何地方更改語法嗎?我做了一些研究,似乎一切都應該起作用。
代碼評論:'if [[「$ i」== * .ctl]]'更清晰。你幾乎肯定要引用'「$ {Array [@]}」' –
'case $ i in * .ctl)echo「$ i」;; esac'是一個更簡單,便攜,和慣用的。 – tripleee