新しい行は追加されず、行の末尾に追加されます。

新しい行は追加されず、行の末尾に追加されます。

次の構成ファイル(config.txt)が提供されます。

more config.txt
export var1=345476746

ただし、新しいパラメータを追加した場合

echo "export var2=5645" >> config.txt

私達は得た

more config.txt
export var1=345476746export var2=5645

この状況を避ける方法は?

だから私たちは得る

more config.txt
export var1=345476746
export var2=5645

答え1

ファイルの末尾に改行文字がありませんconfig.txt

これPOSIX規格説明する持っていなければならない:

3.206ライン
ゼロ個以上の非文字シーケンス終了 <newline> 文字を追加

あなたはできます新しい行を追加、例えば:

sed -i -e '$a\' config.txt

最後に行がまだない場合にのみ、新しい行が追加されます。

あなたの場合は簡単なことecho >> config.txtができます。

答え2

たぶん、最初にオプションでテキストを挿入する必要がありますexport var1=345476746-n

-N do not output the trailing newline

例:

echo -n "export var1=345476746" > config.txt
echo "export var2=5645" >> config.txt

結果:

# more config.txt 
export var1=345476746export var2=5645

答え3

改行を追加する最も簡単な方法は、echoを使用することです。

echo >> config.txt
echo "export var2=5645" >> config.txt

関連情報