重定向

> 替换

>> 追加

STDIN 输入重定向 状态0

STDOUT 输出重定向 状态1

STDERR 错误重定向 状态2

ls -al 命令是用来查看文件的权限、创建时间等文件信息

localhost:shell脚本语言 zhengqiankun$ ls -al redirect.sh

-rwxrwxrwx@ 1 zhengqiankun  staff  300  1 31 09:54 redirect.sh

如果查看一个不存在的文件,会打印错误信息,可以将错误信息打印重定向输出到一个文件,

ls -al a.sh 2>err.sh

上面这个命令中a.sh文件不存在,会将错误信息输出到err.sh,注意:err.sh文件如果不存在,会自动创建。“2”是错误输出重定向状态,这里需要写上

ls -al redirect.sh a.sh 2>>hi.txt 1>>hi.txt

这样写错误信息和查询到的信息都可以保存到 hi.txt

ls -al redirect.sh a.sh &>>hi.txt 

将错误信息和正确信息都输出到hi.txt

6.1 临时重定向

例如: echo "hello word ">&2

执行命令: ./fileA.sh 2>fileB.sh  就是将A文件中标记的错误信息重定向输出到B文件

6.2 永久重定向

exec 命令是批量输出的意思

exec 1> fileB.sh

echo "hello"

echo "hi"

会重定向输出到B文件中

6.3重定向输入

exec 0

 #循环遍历读取

 count=1

 while read line

 do

 echo "当前行数:$count读取内容:$line"

 count=$[ $count + 1 ]

 done

你可能感兴趣的:(重定向)