我正在编写一个从 MySQL 获取命令并一一执行的脚本。我的问题是我无法从脚本执行命令:
./bash.sh: 第 26 行: /myscript.sh -c "": 没有这样的文件或目录
第 26 行是我希望执行的命令(“$com”)。如果我尝试手动运行命令,通过回显“$ com”的内容而不是从终端运行它,它就可以工作。
我究竟做错了什么?
if [ ! "${#array[*]}" -eq "0" ]; then
for (( i=0 ; i<cnt ; i++ )); do
id=$(echo "${array[$i]}" | sed 's@\t@^@g' | cut -f'1' -d'^')
com=$(echo "${array[$i]}" | sed 's@\t@^@g' | cut -f'2' -d'^')
imp=$(echo "${array[$i]}" | sed 's@\t@^@g' | cut -f'3' -d'^')
if [[ "$id" = [0-9]* ]]; then
"$com"
echo "DELETE FROM list WHERE id='$id'" | mysql "$DB_USER" -u "$DB_USER" -p"$DB_PASS"
fi
done
else
echo "The list is empty"
fi