excel操作文件描述符号
来源:互联网 发布:淘宝助理怎么上架宝贝 编辑:程序博客网 时间:2024/05/22 03:11
Linux系统中,每当进程打开一个文件时,系统就为其分配一个唯一的整型文件描述符,用来标识这个文件。大家知道,标C中,每个进程默认打开的有三个文件,标准输入、标准输出、标准错误输出,分别用一个FILE结构的指针来标示,即stdin、stdout、stderr,这三个结构中分别维护着三个文件描述符0、1、2。
打开文件描述符
Shell中,0、1、2也是默认可用的三个文件描述符。为了利用其他文件描述符来标识特定文件,我们需要使用exec命令打开该文件,并指定一个数字作为描述符:
exec m> outfile exec n< infile
第一行打开文件outfile,并赋予文件描述符m,第二行打开文件infile,并赋予文件描述符n。
复制文件描述符
符号<&可以复制一个输入文件描述符,符号>&可以复制一个输出描述符。例如下面命令打开文件描述符n,并将其作为文件描述符m的副本:
exec n<&m
关闭文件描述符
exec n<&-exec m<&-
一个演示脚本
下面的这个脚本修改自《A Practical Guide to Linux Command, Editions, and Shell Programming》。不提供参数时,它将标准输入输出到标准输出;提供一个文件名参数时,将该文件输出到标准输出;提供两个文件名参数时,它将提一个文件复制到第二个文件。
1234567891011121314151617181920
#! /bin/sh case $# in 0) exec 3<&0 4>&1 ;; 1) exec 3<$1 4>&1 ;; 2) exec 3<$1 4>$2 ;; *) echo "Usage: `basename $0` [source [dest]]" exit 1 ;;esaccat <&3 >&4exec 3<&- 4<&-exit 0
exec command
重新启动一个shell,command通常是一个脚本。但是,exec对文件描述符操作时(只有在这时候),不会覆盖当前的shell。
系统默认打开的描述符有3个:0 - 标准输入1 - 标准输出2 - 标准出错所以,只要够斯文(别整太大的数,它不仅难记,而且你不需要),几乎所有的正整数都可以绑定到某个文件。1、通过exec分配文件描述符#!/bin/shexec 3<>hello.txt # 以读写方式绑定到文件描述符"3"echo "hello exec" >&3 # 写入"hello exec",如果之前有内容,这里将会从文件开头进行覆盖echo "hello world" >&3 # 写入"hello world“,新的一行!exec 3>&- # 关闭写,禁止写,然而,实际上它也不能读了~# 如果是exec 3<&-,关闭读,同时它也不能写了~在上面的示例中,将文件hello.txt绑定到了描述符3,如果要将输出重定向到hello.txt,只需要略作修改
- excel操作文件描述符号
- 文件描述符号
- 统计描述的EXCEL操作
- 文件描述符操作
- (二)文件I/O 1.文件描述符号
- 特殊文件--符号链接操作
- JAVA操作EXCEL文件
- 直接操作excel文件
- asp操作excel文件
- vb操作EXCEL文件
- JAVA 操作EXCEL文件
- vb操作Excel文件
- Excel文件操作类
- Excel文件操作类
- c#操作 Excel 文件
- Java操作Excel文件
- Sql操作Excel文件
- Excel-VBA文件操作
- 回调函数应用之比较两个对象大小
- oracle 如何查看建表时间?
- 飞鸽传书也具有五华石乡特色
- iphone解析XML文件
- java学习:
- excel操作文件描述符号
- Http 1.0 响应码
- 优秀网站源码、编程源码
- 网络连接正常但IP却Ping不通解答
- s3c6410硬件DISPLAY CONTROLLER(显示控制器)
- IPMSG协议知识
- 判断一个数是否为素数
- Debian squeeze下安装git,svn配置以及其它。
- 自己实现数据库连接池