我目前有一个bash脚本,我想在其中将要执行的命令与执行本身分开(出于可读性目的):
set -x
MAIN_COMMAND="mysql -u root \"select 1 from dual;\""
...
MAIN_RESULT=$($MAIN_COMMAND 2>&1)
执行命令时,我得到以下调试输出:
++ mysql -u root'“ select'1 from'dual;”'
很明显,我对字符串进行转义的方式出了点问题,但我无法查明。
此外,输出重定向未连接到主命令。
答案 0 :(得分:-1)
好,尝试:
this
但是,这只能解决转义部分,
要得到完整的结果,我使用类似的东西:
set -x
MAIN_COMMAND="mysql -u root \"select 1 from dual;\""
MAIN_RESULT=$("$MAIN_COMMAND" 2>&1)