私はRegExとBASHのどちらにもあまり流暢ではないので、このようにして学ぶことができるように、詳細な説明をいただければ幸いです。ありがとう。
私はこのファイルを大幅に鈍らせましたが、基本的に私がやりたいのは、配列$sqldatabases
を取り、どの変数に@記号が含まれているかを確認し、その特定の変数を更新して@記号を含まないようにし、最後mysqldump
にそのデータベースに対してを実行することです。基本的に、現在コードで発生しているのは、if
ステートメントフィルタリングforum@の欠如です。
source config.sh
sqldatabases=(bans forum@ users donators)
for (( sqlcount = 0; sqlcount < ${#sqldatabases[@]}; sqlcount++ ))
do
if [[ "$sqldatabases[sqlcount]" =~ *[@]* ]] ; then
sqldatabases[sqlcount]=${sqldatabases[sqlcount]//[@]/}
echo "$sqldatabases[sqlcount]"
mysqldump -u"$sqluser" -p"$sqlpass" -h"$sqlhost" ${sqldatabases[sqlcount]} > .backups/$timedate/MySQL/${sqldatabases[sqlcount]}.sql;
fi
done
改めてご協力いただきありがとうございます。それぞれの変更について詳しく説明してください。