#单条指令重定向:
#file description:0(标准输入),1(标准输出),2(标准错误输出)
echo "abc" >test.log #输出到test.log
ech "abc" && echo "abc" >test.log 2>&1#标准输出和标准错误输出都重定向到 test.log
ech "abc" && echo "abc">&test.log #同上
ech "abc" && echo "abc"&>test.log #同上
#永久重定向:
exec 1>test.log #标准输出重定向到test.log,除非shell关闭,否则一直有效
exec 1>&2或者exec 1>/det/tty #恢复标准输出与标准错误输出一直,或者标准输出重新恢复到当前终端
PS:
exec echo "abc"与 echo "abc"的区别:
exec command [argument…]会替换当前shell,也就是说执行完command[argument]后,shell 已经死亡了,即终端关闭;
而普通的命令比如echo "abc"执行完之后shell还在!shell阻塞等待终端输入!