bash - 在一个管道中覆盖 bash 中的文件
问题描述
结果cat file1 | cat > file1
是空文件1。
的结果head file1 | cat > file1
也是空文件1。
当然,一个真正的管道是为了有更多的步骤——里面有工具和操作。
有什么方法可以保存转换后的阅读内容吗?
真实案例是source .env && cat file1 | envsubst > file1
解决方案
谢谢,但正确答案是:
cat file1 | envsubst | sponge file1
这(来自吠陀)是海绵的错误用法
cat file1 | envsubst | sponge | cat > file1
推荐阅读
- java - @PreAuthorize 中的 Spring Boot 复杂拼写
- javascript - 公会未定义 discord.js
- docker - 在gitlab中使用`.env`文件的方法是什么继续集成
- webhooks - 如何使用电子邮件或电话号码通过 API 向谷歌聊天发送 DM
- python - 如何在我的网络服务器更改行中制作文本
- python - 对此返回Python感到困惑
- asp.net-core-webapi - 无法使用包含查询字符串的 url 反序列化 xml 节点 - .net core 3.1
- python - 如何在 Python 脚本中正确管理 API 调用限制?
- c# - 来自 vMenu 的控制台消息是什么
- python - Sympy 与 astropy 结合使用单位进行数值求解?