我有两个脚本。一个名为 sqlscript.sql,另一个名为 script.sh 我在我的 sql 脚本中编写了所有需要的查询。它们只是一堆更新语句。例如:

UPDATE xxDev.SYS_PARAMS SET val = 'serverName' WHERE lower(name) = 'enginebaseurl';

我在 .sh 脚本中运行 .sql 脚本。当 .sh 脚本运行时,我希望它提示用户输入服务器名称并获取该用户输入并将其替换为 sql 语句中的 serverName

我对 bash 脚本和这个网站都是全新的,所以我希望我问这个问题是有道理的。如果这有什么不同,我正在使用 PuTTY。

最佳答案

假设您使用 MySQL,请尝试以下操作:

# TODO: prompt user for server name and store it into variable serverName
serverName="get from user"

cat <<"EOF" | mysql -u user1 -p passwd -h server1 -P 3306 -D db1
UPDATE xxDev.SYS_PARAMS SET val = '$serverName' WHERE lower(name) = 'enginebaseurl';
EOF

所以在这个例子中,你将 sql 脚本嵌入到 .sh 中,这样你就不必维护两个文件。

关于sql - 如何获取用户输入并将其应用到 bash 的 sql 语句中?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30981872/

10-11 17:27