简单介绍下如何在linux下,向文件追加内容

添加单行

使用重定向操作符[[>>]]

echo "hello world" >> test.txt

或者使用 tee

echo "hello world" |tee -a test.txt

添加多行

使用[[echo]]

$ echo "hello
> world
> ~ " >> test.txt

使用[[cat]]和文件结束符号[[EOF]]

$ cat <<EOF >> destination.txt
> today is friday
> haha
> ~~
> EOF

也可以使用[[tee]]

$ cat <<EOF |tee -a destination.txt
> wo you
> lai le
> hah~
> EOF

通过 sudo 添加

通过 echo 和重定向操作符

$ sudo bash -c "echo '127.0.0.1 demo.com'>> /etc/hosts"

使用[[cat]]和文件结束符号

cat <<EOF |sudo tee -a /etc/hosts
127.0.0.1 demo3.com
127.0.0.1 demo4.com
EOF

使用 tee

$ echo "127.0.0.1 demo2.com" | sudo tee -a /etc/hosts

示例

查找 /etc/hosts 中是否存在 hosts映射,如果不存在则添加

install_script -|
 result=$(grep 'demo' /etc/hosts)
 if [ "$reusult" = "" ]
 then
 cat <<EOF |sudo tee -a /etc/hosts
 127.0.0.1 demo.com
 127.0.0.1 demo2.com
 EOF
 fi

参考链接