Shell
使用“exec 1>ok.log”時,如何在 shell 腳本中將指定的內容輸出到螢幕?
如下,我只希望命令
echo "this is to stdout"
輸出到我的螢幕而不是文件ok.log
,我該怎麼辦?我搜尋了
exec
shell命令的用法,但沒有結果,請指教[root@161 tmp]# bash --version GNU bash, version 4.2.46(1)-release (x86_64-redhat-linux-gnu) Copyright (C) 2011 Free Software Foundation, Inc. [root@161 tmp]# cat 2.sh #!/bin/bash exec 1>ok.log exec 2>error.log #exist dir ls /home/ #no exist dir ls /etca/ #to stdout echo "this is to stdout" #other cmds ...
您可以在重定向之前將原始標準輸出保存到臨時文件描述符。在此範例中,我使用文件描述符 3。
exec 3>&1 exec 1>ok.log echo "This will go to ok.log" echo "This will go to the original stdout" >&3