有一个非常讨厌的表达式想要使用bash回显。
表达式是:
'one two --
注意: --
后有空格。
所以我有:
IFS=
echo 'one$IFStwoIFS--$IFS
但结果是:
one$IFStwo$IFS--$IFS
答案 0 :(得分:3)
您的方法几乎没有问题:
one$IFStwo$IFS--$IFS
中,$IFS
的第一个实例将不会展开,因为two
旁边有字符$IFS
,因此它会尝试展开不存在变量 $IFStwo
。$IFS
的默认值为$' \t\n'
您可以使用:
echo "one${IFS}two$IFS--$IFS"
将扩展为(cat -A
输出):
one ^I$
two ^I$
-- ^I$