Linux - 使用CLI程序执行命令

Mik*_* S. 2 linux bash shell


我试着搜索我无法回答我的问题,也许是因为我不确定如何正确地问它,所以我提前道歉.
我试图在bash脚本中执行命令链,例如:

run mysql > type help > exit

root@ubuntu:# mysql
mysql> help
mysql> exit
root@ubuntu:#
Run Code Online (Sandbox Code Playgroud)

我怎样才能在bash脚本中实现这一点?

我试过了操作数||,&& ,; 所有这些,例如:

#!/bin/bash
mysql || help || exit
Run Code Online (Sandbox Code Playgroud)

没工作.它会在彼此之后执行命令.

Tom*_*ech 6

您可以使用heredoc传递一些文本,该命令将读取,就像它是一个文件:

mysql <<EOF
help
exit
EOF
Run Code Online (Sandbox Code Playgroud)

或者,在bash中你可以使用一个herestring,它可以在标准输入上实现与管道命令相似的效果,而不会创建任何额外的子shell:

mysql <<< $'help\nexit'
# or on other shells
printf 'help\nexit\n' | mysql
Run Code Online (Sandbox Code Playgroud)

请注意,这exit不是必需的,因为mysql无论如何它将在输出用尽时退出.