我在AIX ksh的,看起来像这样运行的脚本:何时使用输出重定向创建文件?
wc dir1/* dir2/* | {awk command to rearrange output} | {grep command to filter more} > dir2/output.txt
这是一个前提,这个行DIR2/output.txt中不存在。
问题是,dir2/output.txt已经包含在输出中(它发生了几百次而没有问题)。 dir1和dir2是NFS挂载的。
是否与wc
的实施有关 - 如果第一个参数需要很长时间会怎样?我想不是,因为我试过以下内容:
wc `sleep 5` *.txt > out.txt
即使在这种情况下,out.txt也不会自行列出。
作为最后一个说明,在本示例中使用了通配符,它们在实际脚本中使用。所以如果扩展首先发生,为什么会出现这个问题?
dir2/output.txt实际创建的是什么点?
我一直认为,如果一个子进程在等待输入,它将无法创建任何输出。 我认为这清除了我有很多不正确的假设,都在一个镜头。 – Stephen 2012-04-25 13:43:50