Chinaunix首页 | 论坛 | 博客
  • 博客访问: 170019
  • 博文数量: 28
  • 博客积分: 536
  • 博客等级: 中士
  • 技术积分: 285
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-10 21:00
文章分类

全部博文(28)

文章存档

2013年(2)

2012年(22)

2011年(4)

分类: 系统运维

2012-08-30 23:43:48


网中人的帖子还是很精彩,讲得妙趣横生。记录下自己不是很习惯的用法。

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中
这两个没怎么用过,看过例子,但是忘了又。


阅读(1623) | 评论(0) | 转发(0) |
0

上一篇:Linux Library

下一篇:tr命令点记

给主人留下些什么吧!~~