36、Linux 脚本文件操作与输出处理技巧

Linux 脚本文件操作与输出处理技巧

1. 关闭文件描述符

在脚本中,若创建了新的输入或输出文件描述符,脚本退出时,Shell 会自动关闭它们。但有时,在脚本结束前需手动关闭文件描述符。关闭文件描述符,可将其重定向到特殊符号 &- 。示例如下:

exec 3>&-

此语句关闭了文件描述符 3,使其在脚本中无法再被使用。若尝试使用已关闭的文件描述符,会出现错误:

$ cat badtest
#!/bin/bash
# testing closing file descriptors

exec 3> test17file

echo "This is a test line of data" >&3

exec 3>&-

echo "This won't work" >&3
$ ./badtest
./badtest: 3: Bad file descriptor
$

关闭文件描述符后,向其写入数据会使 Shell 产生错误信息。另外,关闭文件描述符后若重新打开同一输出文件,Shell 会用新文件替换现有文件,导致原有内容被覆盖。示例如下:

$ cat test17
#!/bin/bash
# testing closing file descriptors

exec 3> test17file
echo "Thi
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值