我可能只是有一個大腦屁,但我不能爲我的生活弄清楚如何循環shell腳本中的數組,而不是bash。我確定答案是在某處已經在stackoverflow,但我找不到使用bash的方法。對於我的嵌入式目標系統bash目前不是一種選擇。以下是我正在嘗試執行的一個示例以及返回的錯誤。shell腳本中的數組,而不是Bash
#!/bin/sh
enable0=1
enable1=1
port=0
while [ ${port} -lt 2 ]; do
if [ ${enable${port}} -eq 1 ]
then
# do some stuff
fi
port=$((port + 1))
done
每當我運行這個腳本時,錯誤「Bad substitution」就會返回給if語句行。如果你們有任何想法,我將不勝感激。謝謝!
哪個發行版?或者,你的嵌入式系統中的shell是/ bin/sh? – 2014-09-29 02:33:13
我會馬上查看一下,但它應該和debian中使用的shell一樣。 – TheLastFuzzy 2014-09-29 02:36:22
'if'行有不平衡的括號和'-'和'eq'之間的空格,所以我會先解決這些問題。 – 2014-09-29 02:40:37