如何在`bash -c`下执行任意命令

Mar*_*eck 11 bash

什么是装饰任意bash命令以在子shell中执行它的过程?我不能改变命令,我必须在外面装饰它.

我能想到的最好的是

>bash -c '<command>'
Run Code Online (Sandbox Code Playgroud)

适用于这些:

>bash -c 'echo'
>bash -c 'echo foobar'
>bash -c 'echo \"'
Run Code Online (Sandbox Code Playgroud)

但是诸如此类的命令呢?

echo \'
Run Code Online (Sandbox Code Playgroud)

特别是

echo \'\"
Run Code Online (Sandbox Code Playgroud)

所有命令的装饰必须始终相同.它必须始终有效.

Mar*_*eed 3

你说“subshel​​l” - 你可以通过在命令两边加上括号来获得其中之一:

x=outer
(x=inner; echo "x=$x"; exit)
echo "x=$x"
Run Code Online (Sandbox Code Playgroud)

产生这个:

x=inner
x=outer
Run Code Online (Sandbox Code Playgroud)