字符串中的转义引号重新转义

时间:2018-10-12 12:09:03

标签: bash quotes double-quotes quote quoting

我目前有一个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;”'

很明显,我对字符串进行转义的方式出了点问题,但我无法查明。

此外,输出重定向未连接到主命令。

1 个答案:

答案 0 :(得分:-1)

好,尝试:

this

但是,这只能解决转义部分,

要得到完整的结果,我使用类似的东西:

set -x
MAIN_COMMAND="mysql -u root \"select 1 from dual;\""
MAIN_RESULT=$("$MAIN_COMMAND" 2>&1)