Linux脚本试图删除文件中的“返回”

时间:2013-01-29 06:56:52

标签: linux shell

我正在尝试在Linux shell中编写一个非常基本的脚本,但我还在学习。基本上,除了一部分,一切都很好。我将两个输出指向同一个文件,例如:

echo `losetup -a` > partitionfile
echo "p1" >> partition final

基本上,我需要将字母/数字“p1”添加到文件中写入的内容的末尾。

问题是,它最终被读取(cat partitionfile):

/dev/loop0
p1

我需要它在同一行,它读出:

/dev/loop0p1

必须有办法解决这个问题,我只是不知道。任何帮助将非常感激! 谢谢!

3 个答案:

答案 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语句,以便不打印尾随的新行。

参考:http://linux.die.net/man/1/echo