新行不附加而是附加在行尾

新行不附加而是附加在行尾

我们给出了以下配置文件(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

相关内容