在 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"
我的脚本中有以下行:
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"