在我的bash脚本中,我需要回显一个标签(这发生在一个循环中)
echo -e "$first\t$last"
不幸的是,$last
可能包含一些转义序列,如\n
,应保留这些转义序列。
有没有办法只启用标签转义序列?由于我的脚本即使现在很慢,我也不会显着降低性能。循环有许多次迭代(至少30000)
答案 0 :(得分:5)
改为使用printf
:
printf '%s\t%s\n' "$first" "$last"
格式说明符接受由标签字符%s
分隔并以换行符\t
结尾的两个字符串\n
。 $first
和$last
中的任何潜在转义序列都不会被解释。
答案 1 :(得分:3)
在bash中,您可以使用$'
引号:
echo "$first"$'\t'"$last"