本文最后更新于520 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com
一、更改标准输出的位置
把标准输出位置更改到test文件中:
exec 1> test
把当前标准输出重定向到test文件中:
➜ ~ ➜ echo 'lst' 1> test
➜ ~ ➜ cat test
lst
二、更改标准输入的位置
从键盘输入,把输入读入user==变量==
➜ ~ ➜ read user
testtest
➜ ~ ➜ echo $user
testtest
把test文件中的内容重定向到标准输入:
➜ ~ ➜ read user 0< test
➜ ~ ➜ echo $user
lst
//将test里的内容重定向到变量user

标准错误输出和标准输出的区别是,它在命令出错情况下的输出。
exec 2> test
三、创建文件描述符
- 创建
exec 文件描述符 <> 文件名
- 调用
& 文件描述符
- 关闭
exec 文件描述符<&-
或
exec 文件描述符>&-
- 例子
➜ ~ ➜ exec 5> test
➜ ~ ➜ echo 'are you ok?' 1>&5
➜ ~ ➜ cat test
are you ok?
把文件描述符 5 指向test文件,然后把当前输出重定向到文件描述符5(用&引用文件描述符,即找 到文件描述符指向的目标文件)
四、/dev/null
特殊文件,写入的任何东西都会被清空。
- 把标准错误输出重定向到/dev/null,从而丢掉不想保存的错误信息
whoami 2>/dev/null
- 快速移除文件中的数据而不用删除文件
cat /dev/null > test