EDA365电子论坛网
标题:
linux Shell重定向
[打印本页]
作者:
uqHZau
时间:
2020-3-24 09:44
标题:
linux Shell重定向
2 U/ K, _% w6 D5 f, h+ l
Linux文件描述符:默认打开三个文件描述符:标准输入standard input 0,正确输出standard output 1,错误输出:error output 2
2 Y4 v, Q4 W7 s: N3 G2 C
/ `! b: N; ?9 a% T0 A2 O% N' L
输出重定向
& L* J. r" x$ W1 W/ i# K1 g" [
( O s7 S0 @! N' r3 l1 ?
command-line1 [1-n] > file或文件操作符或设备
3 N6 i( M: A6 j7 Z
$ J5 G! Z1 m3 {, T$ S
首先是判断>右边的文件是否存在,存在的话就首先删除然后再创建,无论左边命令执行是否成功,右边文件都会变为空。使用>>为文件的追加方式。
( u$ `& s6 C, _/ K; _* y i$ N$ j
* Q- Q8 M& C, X
[Unix@17:18:57 ~]$ls > a.txt
[Unix@17:19:11 ~]$cat a.txt
a.txt
cpp
ctest
Makefile
network
shell
socket
test
thread
+ s( f, {& H& b3 J
8 M( M/ Z1 F5 J) D/ d4 `9 J
) g* I( U0 J P% o* U& `+ i: E! }7 t
输入重定向
1 R! E. I) d0 P, o: | x! h
" B; v; _4 f5 `' z& N- O
command-line [n] <file或文件描述符&设备
$ Y3 x" N- u7 `0 V2 a. `/ ~
7 t. E* b$ g/ T8 g- R
[Unix@17:20:59 ~]$cat>a<a.txt
[Unix@17:21:36 ~]$cat a
a.txt
cpp
ctest
Makefile
network
shell
socket
test
thread
" d Y0 g1 c( @+ D$ M5 ~4 i
8 {& R# r! q0 b- b) C Z
1 b) K" r1 \& i" W
exec绑定重定向
- ~) ^) c& z+ w
" P+ F% I I y r( _- u B
exec 文件描述符[n] <或> file或文件描述符或设备
6 ]8 A5 I7 {8 U+ `
( d r& Q8 A: W/ M# n: b
在上面讲的输入,输出重定向 将输入,输出绑定文件或设备后,只对当前那条指令是有效的。如果需要在绑定之后,接下来的所有命令都支持的话,就需要用exec命令。
i& I8 }% R- ^% A. n6 F& ^
6 T6 H) e$ D. G3 u
[Unix@17:26:02 ~]$exec 1>a.txt
[Unix@17:26:11 ~]$ls -al
[Unix@17:26:16 ~]$exec 1>/dev/tty #恢复标准输出
[Unix@17:26:25 ~]$ls
a.txt cpp ctest Makefile network shell socket test thread
7 B# G6 R- y5 U0 K$ x* {1 `
& c5 _6 p" Y4 Q5 O- q( ^5 p3 \
5 Z, D j1 H1 C
作者:
CCxiaom
时间:
2020-3-25 17:50
linux Shell重定向
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2