网中人的帖子还是很精彩,讲得妙趣横生。记录下自己不是很习惯的用法。
cat <hello
shifeif
dkfdsifojsf
EOF
读入<并输出到标准输出
用> file可以讲文件洗掉,
set -o noclubber
禁止文件覆盖
echo "" > file
-bash: file.out: cannot overwrite existing file
取消掉这种设置
set +o noclubber
如果要强制写掉
echo "" >| file
$ cat < file > file.bak
可以给文件做备份
$ cat < file > file
file变空:解释:
要理解這一現像其實不難,這只是 priority 的問題而已:
* 在 IO Redirection 中,stdout 與 stderr 的管道會先準備好,才會從 stdin 讀進資料。
也就是說,在上例中,> file 會先將 file 清空,然後才讀進 < file ,
但這時候檔案已經被清空了,因此就變成讀不進任何資料了...
这个问题我遇到过,但当时不知道什么原因,明白了!
command <&m 把把文件描述符m作为标准输入
command >&m 把把标准输出重定向到文件描述符m中
这两个没怎么用过,看过例子,但是忘了又。
阅读(1661) | 评论(0) | 转发(0) |