MySQL からコマンドを受け取り、それらを 1 つずつ実行するスクリプトに取り組んでいます。私の問題は、スクリプトからコマンドを実行できないことです:
./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