這篇文章主要為大家展示了“shell如何輸出重定向”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學習一下“shell如何輸出重定向”這篇文章吧。
創(chuàng)新互聯(lián)專注于漢南企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè)公司,成都做商城網(wǎng)站。漢南網(wǎng)站建設(shè)公司,為漢南等地區(qū)提供建站服務(wù)。全流程按需策劃設(shè)計,專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
輸出重定向
如果你愿你,可以將STDERR 和 STDOUT 的輸出重定向到一個輸出文件,為此,bash 提供了特殊的重定向符號 &>
ls file nofile &> /dev/null
我們?nèi)绾卧谀_本里面重定向呢?沒有什么特別之處,和普通重定向一樣。
#!/bin/bash #redirecting output to different locations echo "now redirecting all output to another location" &>/dev/null
問題就來了,如果我們要將所有的輸出都重定向到某個文件呢?我們都不希望每次輸出的時候都重定向一下吧,正所謂,山人自有妙計。我們可以用exec 來永久重定向,如下所示:
#!/bin/bash #redirecting output to different locations exec 2>testerror echo "This is the start of the script" echo "now redirecting all output to another location" exec 1>testout echo "This output should go to testout file" echo "but this should go the the testerror file" >& 2
輸出結(jié)果如下所示:
This is the start of the script now redirecting all output to another location lalor@lalor:~/temp$ cat testout This output should go to testout file lalor@lalor:~/temp$ cat testerror but this should go the the testerror file lalor@lalor:~/temp$
以追加的方式重定向:
exec 3 >> testout
取消重定向:
exec 3> -
Shell 是一個用 C 語言編寫的程序,它是用戶使用 Linux 的橋梁。Shell 既是一種命令語言,又是一種程序設(shè)計語言。Shell還是指一種應(yīng)用程序,這個應(yīng)用程序提供了一個界面,用戶通過這個界面訪問操作系統(tǒng)內(nèi)核的服務(wù)。
以上是“shell如何輸出重定向”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!