1
我有下面的代碼閱讀:EXPR:非數字的參數,同時呼籲從另一個腳本腳本,並傳遞參數從文件
#!/bin/bash
PROP_FILE="${HOME}/my-prop.properties"
getProperty() {
echo `cat ${PROP_FILE} | grep ${1} | cut -d'=' -f2`
}
PORT=$(getProperty "PORT")
HOSTS=$(getProperty "HOSTS")
#PORT=myPort
#HOSTS=myHosts
echo ${PORT}
echo ${HOSTS}
EXE="${HOME}/server/bin/my-executable.sh"
bash ${EXE} start -p ${PORT} -h ${HOSTS}
現在,當我運行這個shell腳本,它給我的錯誤:expr: non-numeric argument
。如果我硬編碼的值(它顯示爲註釋代碼),它的工作原理。
以下是my-prop.properties:
PORT=myPort
HOSTS=myHosts
任何幫助將非常感激。
嗨,其實我在屬性文件中的一些其他關鍵=值將被用於不同的操作,這是不是在原來的崗位展示。 –
@TapasBose:在回答的第一部分提到我的更新 – Inian
嗨,感謝您的及時迴應,但不幸的是,它仍然拋出同樣的錯誤,'expr:非數字參數'爲解決方案1和2 。 –