我有一个包含几个字符串值的数组,并且我可以在控制台中正确地输出它:
for element in "${answers[@]}"
do echo $element
done
出去:
1
2
5
但我需要对数组中的每个值执行一些命令:
例如此实现不执行任何操作:
for element in "${answers[@]}";
do
# switch $element {
case $element in
1)
echo "install app 1";;
2)
echo "install app 2";;
3)
echo "install app 3 ";;
esac
done
继续尝试:
for element in "${answers[@]}";
do
switch $element {
case "1": echo "install app 1";;
case "2": echo "install app 2";;
case "3": echo "install app 3";;
}
done
我有例外:
./prepare_2.0.sh:第 15 行:意外标记
echo' ./prepare_2.0.sh: line 15:
案例“1”附近出现语法错误:echo“install app 1”;;'
如何正确实现这个逻辑?
答案1
您拆分了字符串值,但第一次尝试时您没有使用它。只需将“1)”更改为“"1")”即可
对于“${answers[@]}”中的元素;做
case $element in
"1")
echo "install app 1";;
"2")
echo "install app 2";;
"3")
echo "install app 3 ";;
esac