在 sh 脚本中转义?

Escaping in a sh script?

我的脚本中有以下行:

xrandr --newmode "$xx$y" $m

其中 $x$y 是整数,以产生类似 1024x768.

的输出

不幸的是,我的脚本将 $x 解释为 $xx - 我怎样才能阻止它并获得所需的行为?

你可以尝试这样做

"${x}x$y"

查看 the docs 了解更多信息。

大体的逻辑是隔离变量,使其不以xx作为变量名。有几种方法可以做到这一点:

使用引号:

x="xvar";y="yvar"
echo ""$x"x$y"
echo ""$x"x"$y""
echo "$x""x""$y"
echo "$x"x"$y"

使用大括号( 提到):

echo "${x}x$y"