如何在bash中避免回跳

如何在bash中避免回跳,bash,command-substitution,Bash,Command Substitution,很长一段时间以来,我一直在努力逃避bash中的backtick。 我试图用\逃跑,但没用 有可能在bash中逃脱backtick吗 示例代码 I=“hello.pdf” var1=`cat对外部命令替换使用$(…)而不是backtick语法。因此: I='foo.png' var1=$(cat <<EOL ![](../images/${I%.*}.png) \`\`\`sql some code here \`\`\` EOL ) echo "$var1" I='foo.png

很长一段时间以来,我一直在努力逃避bash中的backtick。 我试图用\逃跑,但没用

有可能在bash中逃脱backtick吗

示例代码
I=“hello.pdf”
var1=`cat对外部命令替换使用
$(…)
而不是backtick语法。因此:

I='foo.png'
var1=$(cat <<EOL
![](../images/${I%.*}.png)
\`\`\`sql
some code here

\`\`\`
EOL
)
echo "$var1"
I='foo.png'
var1=$(cat只是使用
$(…)
而不是backticks?真的,自从1992年POSIX.2发布以来,
$(…)
一直是首选/现代语法;这已经接近30年前了!在现代代码中使用backticks替换命令是没有理由的。相关:,
I='foo.png'
var1=$(cat <<EOL
![](../images/${I%.*}.png)
\`\`\`sql
some code here

\`\`\`
EOL
)
echo "$var1"
I='foo.png'
var1=`cat <<EOL
![](../images/${I%.*}.png)
\\\`\\\`\\\`sql
some code here

\\\`\\\`\\\`
EOL
`
echo "$var1"
I='foo.png'
fence='```'
var1=$(cat <<EOL
![](../images/${I%.*}.png)
${fence}sql
some code here

${fence}
EOL
)
echo "$var1"