gpt4 book ai didi

linux - 使用 tee 在不同 unix 上表现不同的文件就地编辑

转载 作者:太空狗 更新时间:2023-10-29 11:20:30 24 4
gpt4 key购买 nike

一位同事正在试验 bash shell 脚本中的文件截断:从二进制文件中提取前两个字节。

以下在 BSD/OS X 上运行良好(输出为“12”)但在 Linux 上运行不正常(输出为空):

echo 1234 >test
head -c2 test | tee test >/dev/null

改变 头部 | tee 部分在子 shell 中运行

echo 1234 >test
(head -c2 test | tee test >/dev/null)

让它也可以在 Linux 上运行。

为什么?

(特别是对截断问题的解决方案不感兴趣,而是解释为什么在不同风格的操作系统上行为不同。)

最佳答案

tee 打开它的参数进行写入,在此过程中截断它们,但是 headtee 首先打开文件是随机的.任何一种行为都是有效的;你只是不应该依赖这个迷你脚本来做任何有用的事情。

关于linux - 使用 tee 在不同 unix 上表现不同的文件就地编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5192699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com