Linux - 使用CLI程序执行命令
问题描述:
我试过搜索我无法得到我的问题的答案,也许是因为我不知道如何正确地问它,所以我提前道歉。
我想执行的bash脚本如命令链:Linux - 使用CLI程序执行命令
run mysql > type help > exit
[email protected]:# mysql
mysql> help
mysql> exit
[email protected]:#
我怎么能在bash脚本实现这一目标?
我试过操作数||,& &,;所有这些例如:
#!/bin/bash
mysql || help || exit
没有工作。它相互执行命令。
答
您可以使用定界符来传递一些文本,该命令将读取,就好像它是一个文件:
mysql <<EOF
help
exit
EOF
另外,在bash,那么你可以使用一个herestring,达到对管道类似的效果不会造成任何额外的子shell命令在标准输入:
mysql <<< $'help\nexit'
# or on other shells
printf 'help\nexit\n' | mysql
注意,exit
是不是真的有必要,因为当它运行的输入反正mysql
将退出。
答
尝试以下操作:
mysql << EOF
help
exit
EOF
这将启动mysql命令然后通过管道将帮助和退出命令到MySQL的标准输入是有效的一样直接键入他们
答
这听起来像你”重试是按顺序运行一些MySQL命令。
其他人提到的heredoc方法是在Shell脚本中执行的方法。
也许你只是想从命令行运行相同的MySQL命令。如果是这样,那么MySQL命令行工具会将包含诸如help
和其他SQL命令等命令的文件作为其默认参数。
-
创建一个文件(说
myfile.sql
)和编辑内容:help select * from mytable
保存文件
-
通行证文件到MySQL:
mysql myfile.sql
有没有需要拨打exit
你的意思是你想按顺序运行一些MySQL命令吗? –