博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell 重定向
阅读量:7239 次
发布时间:2019-06-29

本文共 844 字,大约阅读时间需要 2 分钟。

一直没搞懂 &> 和 <& 是表示什么意思。 今天自己总结一下,希望自己能理解它的真正含义。

重定向标准输入输出,切记 “1” 和 “>”之间没有空格

$ echo "hello world" 1> file$ cat < filehello world$ echo "hello world" 2> filehello world$ cat < file$

&表示什么意思

重定向可以用i>&j命令,表示把文件标识符i重新定向到j,你可以把"&"理解为"取地址"

$ echo "hello world 1>&2" 1>&2 > file$ cat 0< filehello world 1>&2$

系统为每一个打开的文件指定一个文件标识符以便系统对文件进行跟踪,0对应stdin,1对应stdout, 2对应stderr。用复杂的例子说明一下更高级的用法:

 

$ echo 123456789 > file        把字符串写到文件filename中

$ cat file

123456789
$ exec 3<>file                 把文件file打开,并指定文件标识符为3

$ read -n 4 <&3                从文件中读4个字符,句柄已经指到第四个字符末尾

$ echo -n . >&3                在第5个字符处写一个点,覆盖第5个字符,-n表示不换行

$ exec 3>&-                    关闭文件标识符3

$ cat file

1234.6789
~$

现在cat filename文件的结果就成了 0123.56789

命令j<>filename表示把文件打开,并指明文件标识符为j 

"&-"表示关闭文件标识符

有关关闭文件标识符的操作请参考下面

n<&-        关闭输入文件标识符n0<&-或<&-   关闭标准输入stdinn>&-        关闭输出文件标识符n1>&-或>&-   关闭标准输出stdout

 

转载于:https://www.cnblogs.com/itea/p/5589346.html

你可能感兴趣的文章
微信小程序事件
查看>>
空间直角坐标系、大地坐标系、平面坐标系、高斯平面直角坐标系(转)
查看>>
Java并发编程-可重入锁
查看>>
MySQL5.7.9压缩包安装配置
查看>>
068、Calico的网络结构是什么?(2019-04-11 周四)
查看>>
rails文件夹介绍
查看>>
团对-爬取豆瓣电影top250-开发环境搭建过程
查看>>
apache2.2安装和配置(安装版)
查看>>
轻触开关实现自锁功能
查看>>
浏览器加载显示html页面内容的顺序
查看>>
(八)mybatis之映射器
查看>>
OOP design table chair bench
查看>>
Quartz学习笔记
查看>>
jQuery
查看>>
aix lvm_lv_vg
查看>>
sudo nopasswd
查看>>
Scrapy命令和备注
查看>>
MySql
查看>>
Spring和springMVC父子容器的关系
查看>>
计算机图形学常用算法
查看>>