问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

#!/bin/bash exec 3>&1 ls -l 2>&1 >&3 3>$- | grep bad 3>&- exec 3>&- 求详细解释上一段shll脚本的意思

发布网友 发布时间:2023-08-09 14:35

我来回答

1个回答

热心网友 时间:2023-10-06 04:14

各种输出重定向啊,弄来弄去就是在做 ls -l 么。

你知道 ls -l 2>&1 >&3 是在做什么就行了。

还不清楚? 那再深入一点吧……
exec 3>&1 #在当前SHELL环境中将文件标识3与标准输出相关联(备份一个stdout)

ls -l 2>&1 >&3 3>&- | grep bad 3>&-
#管道右边: 为grep指令关闭文件标识3
#管道左边: ls -l 的stdout\stderr都重定向到之前标识3所备份的终端路径,所以其输出不经管道送入grep,而是直接输出到显示终端。

exec 3>&- #为SHELL后续代码关闭文件标识3追问恩确实在做ls -l ,刚接触,学习中

我不理解的地方是:“#管道右边: 为grep指令关闭文件标识3”,为什么要为grep关闭文件标识3

“#管道左边: ls -l 的stdout\stderr都重定向到之前标识3所备份的终端路径,所以其输出不经管道送入grep,而是直接输出到显示终端。” ls 最重输出结果到标准输出,那管道后面的grep貌似没什么用? 是吗

这个和子shell有关吧,请解释详细点

追答`exec 3>&1` 操作后为此SHELL内所有指令都开放文件标识3,而对于不需要使用标识3或对标识符3可能有其它指向的指令来说,这一点比较不安全,所以最好不用的时候显式关闭(3>&-),ls中用完就关了,grep中用不上也关了。(你可以试试不关有没有影响)

`ls -l 2>&1 >&3 3>&- | grep bad 3>&- ` 这之中使用了管道,grep尝试接管ls指令的输出通道,而这一个例子就是为了演示对于输出标识通道的重定向效果,它将ls指定默认的输出全部重定向为之前保留下来的终端输出通道,grep自然什么都没有拿到。

可以认为和子shell有点关系吧(但不是重点),因为没有exec的话,ls和grep指令中就没有文件标识3. 引入FD3也只是用作保存终端输出通道的一个过程量罢了。

不是很高深的东西,所以不用花费太多心思在这上头,会用就好。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
支付宝健康码变色规则 ...变绿码?昨天做了核酸检测结果是阴性,多久健康码从黄码变成绿码_百度... 母亲有乙肝孩子一定会有吗 ...的作文,600字,要有真实情感最好写心灵的。帮帮忙,必采纳。谢谢啦... ...自我介绍怎么写呀!,急急急!!!拜托各位谢谢啦!!_百度... 以“我身边的文明礼仪”为题写一篇作文,请各位大侠帮帮忙啦... 石家庄100平米房子改水电多少钱一平 石家庄居民水电煤气费都是多少钱? 石家庄水电一个月多少钱一个月多少钱 石家庄水电价格是多少钱 超实用片语来了!——「专心听」、「胡思乱想」怎么说?一次学会! SHllSANlu汉语什么意思? shll的意思与音标是什么呢? 中信银行不受理储蓄业务包括哪些业务 北京到辛集多少公里小时查询,北京至辛集 辛集到北京的汽车要多长时间啊? 怎么样才能以最快的速度从北京到达河北辛集 我是北京通州的 去河北省辛集市最快怎么去 还有多长时间到 列好价钱 应该带多少钱 我待两天 从北京自驾去辛集皮革城约多长时间?过路费多少? 广西交通职业技术学院和广西工业职业技术学院哪个好 广西工业职业技术学院交通怎么样 25g胆矾中,硫酸铜的质量是多少克 过程 已知1.60%CuSO4溶液的密度为1.20g/mL,所得CuSO4溶液的物质的量浓度是多少? 从汕头潮阳棉城到潮阳金浦考驾照考场怎么坐车? 广西工业职业技术学院专业有哪些 北大青鸟学校如何 值得了解 北京青鸟职业技术学校怎么样 我家仓鼠耳朵上长了个肉瘤,急!怎么治啊! 理财计划具有明确的目标客户,对此理解错误的是( )。 客户的理财目标可以分为 去日本好大学读研 建立健全新一轮国企改革深化提升行动机制应该从哪些方面入手? 我国建立可持续发展机制要从哪方面入手 建立机制应该由哪个层次级别建立 怎样把变成空白? 怎么把改成空白的 怎样隐藏变空白? 空白怎么设置 怎么设置成空白 可以设置空白的吗。 vivo怎样显示空白 怎样设置空白名字? 重庆诚鑫仪表厂有限公司怎么样? 中通快递家在青木关该在哪里取 青木关镇的资源优势 重庆市北碚区,歇马-到青木关/大学城 565路车的末班车发车时间具体是什么时候啊?希望知道的朋友回 重庆铁路中学 重庆电厂中学 重庆八十中 重庆三十三中 重庆青木关中学 对比 三眼康卡斯值得买吗? 康卡斯三眼计时防磁吗 浪琴L2.628.4.786 编码80021688值多少钱,还有怎么看他是不是假的!