linux 命令行脚本修改文件

  • 添加单行

使用重定向操作符  >>  或  >  

echo "hello world" > test.txt  # 重写
echo "hello world" >> test.txt # 追加

或者使用 tee

echo "hello world" | tee -i test.txt  # 重写
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"
$ sudo bash -c "echo `pwd`/lib >> /etc/ld.so.conf" # 添加当前目录下的lib文件夹添加到

使用 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
$ echo "`pwd`/lib/" | tee -a /etc/ld.so.conf # 添加当前目录下的lib文件夹添加到
  • 示例

查找 /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

 

  • 参考链接

https://www.cnblogs.com/bakanano/p/15187167.html

https://www.baeldung.com/linux/append-lines-file

 

posted @ 2022-12-07 17:12  clovershell  阅读(944)  评论(0)    收藏  举报
Free Monkey ani Cursors at www.totallyfreecursors.com