如何在bash脚本的命令中包含带有表达式的字符串?在bash命令中包含字符串表达式
考虑以下几点:
#!/bin/bash
exclusions='Database|information_schema|mysql'
echo "mysql -e 'SHOW DATABASES' | grep -E -v '$exclusions' > outfile"
mysql -e 'SHOW DATABASES' | grep -E -v '$exclusions' > outfile
脚本打印到屏幕上:
mysql -e 'SHOW DATABASES' | grep -E -v 'Database|information_schema|mysql' > outfile
...所以我想我的语法是生产命令字符串我想要的。当我在命令行手动输入打印的字符串时,该命令将除grep表达式中的所有数据库名称都放入'outfile'中。
但该脚本将所有数据库名称(不包括grep表达式中的那些名称)都导出到该文件。为什么脚本忽略grep表达式?