菜单

Shell中重定向的无时或忘解说

2019年5月9日 - www6165com
$ sort < input > output 2> error
$ ls ~ > output
$ cat output
hello.txt
homework
input
name
output
source.list.bk

上边包车型大巴次序从键盘读取输入,将结果展现在显示器上,即标准输入、标准输出和标准错误都利用默许的安装:

$ ls > output
$ ls 1> output
$ sort < input > output 2>&1

如上便是那篇小说的全部内容了,希望本文的源委对咱们的就学大概专门的学业富有一定的参阅学习价值,假如有疑问我们能够留言沟通,多谢大家对台本之家的支撑。

用户能够对输入和出口实行重定向,即内定专门的工作输入、规范输出和专门的职业错误。

下边包车型大巴通令将正式输出重定向为output文件,使用二>&一将规范错误重定向为标准输出:

内需注意的是,如若output不设有,将自动创制output文件;若是output存在,那么将清空output的开始和结果,并写入新的内容。

行业内部输入、规范输出和正规错误

如上所示,ls ~的专门的学问输出被重定向为output,因而其出口被写入output文件。

注意,上边包车型大巴一声令下将促成标准输出和规范错误的相互覆盖,因而不可动用:

$ ls ~
hello.txt homework name source.list.bk
$ sort < input > output # 覆盖output内容
$ sort < input >> output # 在output末尾追加内容

设若只是想在输出文件的已有内容的末段追加,能够选择>>:

平等的,程序的暗许重定向输出为业内输出,所以上面包车型大巴两条命令也是等价的:

标准输入使用<实行点名,下边包车型大巴一声令下将input文件作为sort命令的输入,将要sort命令的正经输入重定向为input文件:

重定向

上面包车型客车通令将行业内部输出重定向为output文件,规范错误依然展现在显示器上:

次第的输出有二种,即标准输出和正式错误,在那之中正式输出是程序的正规输出、典型错误是先后的谬误输出。二者私下认可都被钦命为显示器,用户能够将其钦命为文件或任何装置。

$ sort < input > output 2> output
$ sort < input 1>> output 2> error
$ sort < input > output

组合标准输出和规范错误

利用>重定向规范输出:

上边包车型大巴下令将标准输入重定向为input文件,标准输出重定向为output文件(追加),将标准错误重定向为error文件:

总结

地点的例证中,标准输出和行业内部错误都会被重定向为output文件。

次第的输入是正规输入,暗中同意是键盘,用户能够将其钦点为文件或其它道具。

下边包车型大巴吩咐将标准输出重定向为output文件,将标准错误重定向为error文件:

$ sort < input
$ sort 0< input

种种输入源和出口地都有2个描述符,规范输入的讲述符为0,标准输出的讲述符为1,规范错误的描述符为二。

$ cat input
zhao
qian
sun
li
zhou
wu
zheng
wang
$ sort < input
li
qian
sun
wang
wu
zhao
zheng
zhou

叁个主次的的输入能够来自于键盘,也能够来自于文件只怕别的装置;同样的,多个顺序也足以将出口展现在显示屏或许封存到文件中。那就涉嫌到专门的学问输入、标准输出和职业错误。

您恐怕感兴趣的篇章:

使用0<重定向典型输入,事实上,由于程序的暗中同意重定向输入即为标准输入,所以下边包车型客车两条命令是等价的:

$ date >> output
$ cat output
hello.txt
homework
input
name
output
source.list.bk
Sat Jun 30 18:18:53 CST 2018

文件讲述符

上面包车型地铁吩咐将规范输入重定向为input,将行业内部输出重定向为output:

本例中input文件作为sort命令的行业内部输入。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图