Я хотел бы обновить следующий скрипт bash, который по отдельности выводит каждую таблицу в заданной схеме:
for t in $(mysql -NBA -h db_host -u db_user -pdb_pass db_name -e 'show tables')
do
mysqldump -h db_host -u db_user -pdb_pass db_name $t > db_name.$t.sql
, чтобы исключить некоторые таблицы, которые не нужно подбирать этим скриптом. Вот что я имею в виду:
for t in $(mysql -NBA -h db_host -u db_user -pdb_pass db_name -e 'show tables where `Tables_in_db_name` not like 'table1' and `Tables_in_db_name` not like 'table2'')
do
mysqldump -h db_host -u db_user -pdb_pass db_name $t > db_name.$t.sql
sql сам по себе хорош, но я не могу заставить его работать внутри команды -e. Очевидно, что в этом примере проблема заключается в открытии и закрытии апострофов команды -e. Я пытался:
- Использование кавычек вместо апострофов. ie -e "показать таблицы, где et c"
- Использование косых черт на внутренних апострофах. ie \ 'table1 \'
Безуспешно. Кто-нибудь знает, как разместить апострофы и обратные тики в этих пределах?
Спасибо.