bashスクリプトのコマンドに式を含む文字列を含めるにはどうすればよいですか?bashコマンドに文字列式を含める
mysql -e 'SHOW DATABASES' | grep -E -v 'Database|information_schema|mysql' > outfile
...ので、私は私の構文は、私がしたいコマンド文字列を生成していると思う:画面にスクリプトプリント
#!/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
:
は、次のことを考えてみましょう。コマンドラインで手動で印刷した文字列を入力すると、grep式以外のすべてのデータベース名が 'outfile'になります。
しかし、スクリプトは、grep式のものを除外せずに、すべてのデータベース名をファイルにエクスポートします。スクリプトがgrep式を見落としているのはなぜですか?