临时重定向
echo "error" >&2 # test.sh 脚本里 将标准输出重定向到标准错误
./test.sh 2> test2.txt # 运行脚本时,将错误重定向到文件,则 error 会被写入到文件中
永久重定向
exec 1>a.txt 将脚本中所有标准输出 都重定向到a.txt 脚本执行时可重新重定向
exec 1>>a.txt 追加到文件末尾
exec 2>a.txt 将脚本的所有错误都重定向到a.txt
echo "error" >&2 "error"会写入到a.txt中
自定义重定向
exec 3>a.txt
echo "out" >&3
恢复输出重定向
exec 3>&1 3指向显示器
exec 1>a.txt 1指向a.txt
echo "message" 写入a.txt
exec 1>&3 1指向显示器
输入重定向
exec 0< a.txt 重定向标准输入
while read s 从a.txt读取数据到变量s中
恢复输入重定向
exec 6<&0 6指向键盘
exec 0< a.txt 0指向a.txt
read var 从a.txt 读入
exec 0<&6 0指向键盘
关闭文件描述符
exec 3>&-