非常感谢您的帮助!!!
我有以下代码:
base[0]='coordfinder'
base[1]='editor_and_options'
base[2]='global'
base[3]='gyro'
base[4]='movecamera'
base[5]='orientation'
base[6]='sa'
for d in $dest_include/*; do
if [ $d == "${base[@]}" ]; then
echo $plugin='y' >> vt_conf.sh
else
plugin=$(basename $d)
echo $plugin'?'
read $plugin
echo $plugin=${!plugin} >> vt_conf.sh
fi
done
它不起作用,但这是一个很好的起点。基本上,不起作用的是if循环。我只是因为我不知道该怎么做而弥补。
我想做以下操作:
循环浏览$ dest_include文件夹的内容。如果任何forlders($ d)与数组中的任何元素匹配一件事,否则要做其他事情。
谢谢!
通过内部循环迭代,如果找到匹配项,请设置标志。
base=( coordfinder editor_and_options global gyro movecamera orientation sa )
for d in "$dest_include/"*; do
found_match=0
for i in "${base[@]}"; do
[[ $d = "$i" ]] && { found_match=1; break; }
done
if (( found_match )) ; then
...do one thing...
else
...do the other...
fi
done
您也可以打开检查:将整个数组用作空间分隔的字符串,并尝试匹配其中的whitespace删除的单词。
for d in "$dest_include"/* do
if [[ " ${base[*]} " == *" $(basename "$d") "* ]]; then
do something with matching directory
else
do another thiing
fi
done