我正在尝试从数组元素创建变量并检查我在源文件中创建的变量的值。
我的源文件:
value1abc="10"
value2efg="30"
value3ade="50"
value4tew="something else"
onemorevalue="192.168.1.0"
脚本代码:
declare -a CfgData
CfgData=("value1abc" "value2efg" "value3ade" "value4tew" "othervalue" "onemorevalue")
COUNTER="0"
source MySourceFile
until [ $COUNTER == ${#CfgData[@]} ]; do
value=$[${CfgData[$COUNTER]}]
echo -ne "\\n${CfgData[$COUNTER]}=\"$value\""\\n\\n
let COUNTER+=1
done
脚本可以正常工作,直到涉及包含纯数字(字母、空格、点,通常是所有字符)以外的数据的值,在这种情况下:
value="randomcharacters" # Gives me "0"
value="something else" & value="192.168.1.0" # line XX: 192.168.1.0: syntax error: invalid arithmetic operator (error token is ".168.1.0")
我很确定我错过了一些基本的东西,但我现在无法弄清楚:P。