0

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

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

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

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

/dev/loop0
p1

我需要它在同一行上,它的内容如下:

/dev/loop0p1

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

4

3 回答 3

1

我会去:

echo "$(losetup -a)p1" > partitionfile

例如,请参阅以下记录:

pax> echo "$(echo xyzzy_)p1"
xyzzy_p1

xyzzy_是内部echo命令的输出(在您的情况下是losetup),外部echo命令 append p1

于 2013-01-29T06:59:16.077 回答
1

嗨实际上 echo 的正确选项是“\ c”

\c 使光标保持在同一行。

但是,除非您已启用它,否则您不能使用 \c

-e

因此你的代码应该是这样的......

echo -e "`losetup -a` \c" > partitionfile
echo "p1" >> partition final

这将在 partitionfile 中写入

< losttup -a 的输出 > p1

一切都在同一条线上。

于 2013-01-29T07:28:09.097 回答
0

您可以将-n标志传递给第一个 echo 语句,以不打印尾随的新行。

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

于 2013-01-29T07:04:45.437 回答