在Linux shell bash脚本中,如何在同一行打印到文件?
每次迭代,
我用过
echo "$variable1" >> file_name,
echo "$variable2" >> file_name,
但echo插入一个换行符,使其成为
$v1
$v2
不是
$v1 \tab $v2
“\ c”不能换新行。
这篇文章 BASH shell script echo to output on same line
无济于事。
感谢
答案 0 :(得分:6)
在涉及这个问题之后,我已经确定你要找的是echo -n
。
答案 1 :(得分:3)
如果您要在变量之间寻找单个选项卡,那么printf是一个不错的选择。
printf '%s\t%s' "$v1" "$v2" >> file_name
如果您希望它与您的示例完全相同,其中标签填充两侧都有空格:
printf '%s \t %s' "$v1" "$v2" >> file_name
答案 2 :(得分:2)
那里的选择很少:
echo -n foo bar
这很简单,但可能不适用于某些旧的UNIX系统,如HP-UX或SunOS。相反,将打印“-n”以及其余参数后跟新行。echo -e "foo bar\c"
。 \c
具有含义:“不产生进一步的输出”。我个人不喜欢这个解决方案,但有些UNIX向导使用它。printf %b "foo bar"
我最喜欢这个解决方案。它非常便携且灵活。答案 3 :(得分:1)
使用echo -n
修剪换行符。看看是否有效