実行中のbashスクリプトにMySQLコマンドがあります。私は他のLinuxのコマンドラインはこの1つ前のコマンド(実際には1でもmysqlコマンドである)が、それはこの1つになったとき、それは動作しません。実行しています:MySQLコマンドを実行していないBashスクリプト
DEST_HOST="localhost"
DEST_DBNAME="db_name"
DEST_DBUSER="root"
DEST_DBPASS=""
# FILE NAME
MIGRATION_FILE="migration_database"
# Export/Import Commands
DO_DATABASE_UPDATE="mysql --host=$SOURCE_HOST --user=$DEST_DBUSER --password $DEST_DBNAME < $MIGRATION_FILE.sql"
echo 'Running local updates...'
$DO_DATABASE_UPDATE
echo "$DO_DATABASE_UPDATE"
# Done!
echo "Complete!"
私はmigration_database.sql
ファイルを持っています私が実行しているフォルダ。ご覧のとおり、私はすべての最後にUPDATEコマンドを表示しています。何が起こるか私はこれを実行し、ヘルプメニューを得るためにmysql -I
を実行したようなmysqlメニューに表示されます。
印刷されたコマンドをコピー&ペーストして実行すると効果的です。なぜbashがスクリプト内からこれを実行しないのか分かりません。
アイデア?
私のMac上のターミナルは、私はそれが私を促すていない理由です推測していますか?それは間違いなく問題になるでしょう、私はそれが事実であることを認識しませんでした。私は間違いなくこれを試してみます。私はconfファイルの解決が好きです。自分のコンピュータに戻ったときに見つけたものを知らせます。早速のご返事ありがとうございます! – MillerMedia
私は再びこれでプレーしてきた、それは更新スクリプトを実行する必要はありません。それは '<'文字まで実行されますが、その後は動作しません。私が変数宣言を壊してしまったり、変数宣言を '<'で止めて '$ DO_DATABASE_UPDATE <$ MIGRATION_FILE.sql'のようにすると、それは動作します。 bashの変数にコマンド未満記号を使用して、いくつかの問題がありますか? – MillerMedia