【发布时间】:2016-11-18 02:33:29
【问题描述】:
我正在运行的 bash 脚本中有一个 MySQL 命令。我在这个命令之前运行其他 Linux 命令行命令(实际上一个甚至是 mysql 命令)但是当它到达这个命令时,它不起作用:
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 菜单上,就像我运行 mysql -I 以获取帮助菜单一样。
如果我复制并粘贴打印出来的命令并运行它,效果很好。我不确定为什么 bash 不从脚本中执行此操作。
有什么想法吗?
【问题讨论】: