bash脚本中的grep和mysql变量

问题描述 投票:1回答:1

我有一个带有此变量的bash脚本,然后在for中使用它来复制每个服务器数据库:

bdtocopy = $ (mysql -Ns -uadmin -p`cat / etc / psa / .psa.shadow` -e "SHOW DATABASES" | grep -Ev "^ (horde | apsc | psa | mysql | phpmyadmin_ne2tX0wklnQh | performance_schema | information_schema) $ ")`

我想将其分开,但对我不起作用:

[bdtoexclude = $ (horde | apsc | psa | mysql | phpmyadmin_ne2tX0wklnQh | performance_schema | information_schema) databases = $ (mysql -Ns -uadmin -p cat / etc / psa / .psa.shadow -e "SHOW DATABASES") bdtocopy = $ (echo $ databases | grep -Ev "$ bdtoexclude")

怎么办?

mysql bash grep
1个回答
0
投票
pass="$(</etc/psa/.psa.shadow)"
databases="$(mysql -Ns -uadmin -p${pass} -e 'SHOW DATABASES')"
bdtoexclude='^(horde|apsc|psa|mysql|phpmyadmin_ne2tX0wklnQh|performance_schema|information_schema)$'
bdtocopy="$(grep -Ev "${bdtoexclude}" <<< "${databases}")"
© www.soinside.com 2019 - 2024. All rights reserved.