|
发表于 2006-4-14 23:56:23
|
显示全部楼层
Post by kooder
#!/bin/sh
if [ $# -ge 1 ]; then
for FILE in $@
do
exec 4<&0 < "$FILE"
while read LINE; do echo $LINE ; done
exec 0<&4 4<&-
done
if
请问其中的 $# ,$@ 都是代表什么啊?
exec 4<&0 < "$FILE"又有什么用呢?
1.$#代表命令行参数的数量
2.$@代表所有的命令行参数
表示复制file descriptor 0,也就是标准输入,产生一个新的file descriptor 4
同事将标准输入重定向为$FILE变量所指定的文件
你可以看到最后他用
回复了原来的标准输入,并且关闭了4这个复制出来的file descriptor
如有错误,欢迎拍砖 |
|