0

Linux シェルでかなり基本的なスクリプトを作成しようとしていますが、まだ学習中です。基本的に、一部を除いてすべて問題ありません。2 つの出力を同じファイルに送信します。たとえば、次のようになります。

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コマンドはを追加しp1ます。

于 2013-01-29T06:59:16.077 に答える
1

こんにちは実際にこれを達成するためのエコーの正しいオプションは「\ c」です

\c カーソルを同じ行に保ちます。

ただし、\c を有効にしていない限り、\c を使用することはできません。

-e

したがって、コードは次のようになります...

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

これはパーティションファイルに次のように書き込みます

< losetup -a の出力 > p1

すべてが同じ行にあります。

于 2013-01-29T07:28:09.097 に答える
0

フラグを最初の echo ステートメントに渡し-nて、末尾の改行を出力しないようにすることができます。

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

于 2013-01-29T07:04:45.437 に答える