作者vincente (文生弟)
看板Linux
标题Re: [问题] redirection
时间Thu Aug 21 13:27:00 2008
Linux shell 执行的步骤是由後到前。
当你执行 echo 123 > abc.txt 时,
shell 会先产生 abc.txt 并打开 ( open() ),
再把 123 倒进去。
如果 abc.txt 已经存在,就会把 abc.txt 的内容清掉,
呼叫 system call open() 打开 abc.txt,再把 123 倒进去。
所以当你的 sed 指令要开始处理 123_pre.c 的时候,
这个 file 已经先被清掉了。
※ 引述《typeotoco (打字男)》之铭言:
: sed 's/include/INCLUDE/g' 123_pre.c > 123_pre.c
: 请问一下上面这个 command 执行完後 123_pre.c 变成空档案了
: 嗯 我印象中的确也是不能把同一个档案当作 redirection 的 target
: 只是还蛮好奇 这个指令的执行过程或步骤是怎样的,
: 顺便请教一下 如果我要取代完放回原档案
: 应该怎麽下正确的 command ?
: 谢谢!
--
I'm root.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 221.169.252.133
1F:推 typeotoco:谢谢 我了解了 08/21 14:35