Bash 在echo中启用单个转义序列
在我的bash脚本中,我需要回显一个选项卡(这在循环中发生) 不幸的是,Bash 在echo中启用单个转义序列,bash,escaping,echo,Bash,Escaping,Echo,在我的bash脚本中,我需要回显一个选项卡(这在循环中发生) 不幸的是,$last可能包含一些转义序列,如\n,应该保留这些转义序列 有没有办法只启用制表符转义序列?我宁愿不显著降低性能,因为我的脚本即使现在也很慢。循环有很多次迭代(至少30000次)请改用printf: printf '%s\t%s\n' "$first" "$last" 格式说明符接受两个字符串%s,由制表符\t分隔,并以换行符\n结尾。不会解释$first和$last中的任何潜在转义序列 改用printf: printf
$last
可能包含一些转义序列,如\n
,应该保留这些转义序列
有没有办法只启用制表符转义序列?我宁愿不显著降低性能,因为我的脚本即使现在也很慢。循环有很多次迭代(至少30000次)请改用
printf
:
printf '%s\t%s\n' "$first" "$last"
格式说明符接受两个字符串
%s
,由制表符\t
分隔,并以换行符\n
结尾。不会解释$first
和$last
中的任何潜在转义序列 改用printf
:
printf '%s\t%s\n' "$first" "$last"
格式说明符接受两个字符串
%s
,由制表符\t
分隔,并以换行符\n
结尾。不会解释$first
和$last
中的任何潜在转义序列 在bash中,可以使用$”
引号:
echo "$first"$'\t'"$last"
在bash中,可以使用
$”
引号:
echo "$first"$'\t'"$last"
printf不是比echo慢吗/编辑:它不是:@marmistrz在bash中(我怀疑还有其他shell),
printf
和echo
都是作为内置实现的,所以我不会担心性能上的差异。printf不是比echo慢吗/编辑:它不是:@marmistrz在bash中(我怀疑还有其他shell),printf
和echo
都是内置实现的,所以我不会担心性能上的差异。