Shell 重定向(七):打开用于读和写的文件描述符

Bash 支持使用如下语法在文件描述符上打开一个即可读取又可以写入的文件:

exec [n]<>file

其中,[n] 即是文件描述符,如果不指定 n,则默认表示标准输入。如果文件 file 不存在,则将会被创建。符号 “<>” 是 Bash 中的菱形操作符,这个操作符就是用于打开一个可读写的文件。

这个语法对更新文件很有用。

例如,我们执行类似如下的一些命令:

# 将字符串 “one two” 写入到文件 /tmp/file
echo "one two" > /tmp/file

# 在文件描述符 4 上打开用于读写的文件 /tmp/file
echo 4<> /tmp/file

# 从文件描述符 4 读取前 3 个字符
read -n 3 var <& 4

echo $var

本文参考自 《Linux Shell命令行及脚本编程实例详解 》

你可能感兴趣的:(Shell 重定向(七):打开用于读和写的文件描述符)