我正在尝试在Linux shell中编写一个非常基本的脚本,但我还在学习。基本上,除了一部分,一切都很好。我将两个输出指向同一个文件,例如:
echo `losetup -a` > partitionfile
echo "p1" >> partition final
基本上,我需要将字母/数字“p1”添加到文件中写入的内容的末尾。
问题是,它最终被读取(cat partitionfile):
/dev/loop0
p1
我需要它在同一行,它读出:
/dev/loop0p1
必须有办法解决这个问题,我只是不知道。任何帮助将非常感激! 谢谢!
答案 0 :(得分:1)
我会选择:
echo "$(losetup -a)p1" > partitionfile
例如,请参阅以下记录:
pax> echo "$(echo xyzzy_)p1"
xyzzy_p1
xyzzy_
是内部echo
命令的输出(在您的情况下为losetup
),外部echo
命令附加p1
。
答案 1 :(得分:1)
嗨实际上,正确的回声选项是“\ c”
\ c将光标保持在同一行。
但是除非您使用
启用它,否则无法使用\ c-e
因此你的代码应该是这样的......
echo -e "`losetup -a` \c" > partitionfile
echo "p1" >> partition final
这将在partitionfile中写为
< losetup的输出-a> P1
一切都在同一条线上。
答案 2 :(得分:0)
您可以将-n
标记传递给第一个echo语句,以便不打印尾随的新行。