什么是装饰任意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)
所有命令的装饰必须始终相同.它必须始终有效.
你说“subshell” - 你可以通过在命令两边加上括号来获得其中之一:
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)