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 @   clovershell  阅读(932)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
Free Monkey ani Cursors at www.totallyfreecursors.com
点击右上角即可分享
微信分享提示