欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

Shell腳本中/Dev/Null有什么用

這篇文章主要為大家展示了“Shell腳本中/Dev/Null有什么用”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“Shell腳本中/Dev/Null有什么用”這篇文章吧。

創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)網(wǎng)站建設與網(wǎng)站營銷,提供成都網(wǎng)站建設、做網(wǎng)站、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、小程序定制開發(fā)、公眾號商城、等建站開發(fā),創(chuàng)新互聯(lián)網(wǎng)站建設策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。

用途

/dev/null 通常被用于丟棄不需要的輸出流,或作為用于輸入流的空文件,這些操作通常由重定向完成,任何你想丟棄的數(shù)據(jù)都可以寫入其中

丟棄標準輸出

在寫shell腳本的時候,只想通過命令的結(jié)果執(zhí)行后面的邏輯,而不想命令執(zhí)行過程中有一大堆中間結(jié)果輸出,這時候可以把命令執(zhí)行過程中的輸入全部寫入  /dev/null

現(xiàn)有 a.sh 腳本,它的功能是判斷傳入的系統(tǒng)命令是否存在,腳本內(nèi)容如下

#!/bin/bash        command -v $1        if [[ $? -eq 0 ]]; then       echo "command $1 exist..."    else       echo "command $1 not exist..."    fi

執(zhí)行 ./a.sh top 命令,輸出如下

[tt@ecs-centos-7 dev_test]$ ./a.sh top /bin/top command top exist...

說明: command -v 命令名 是查找指定命令名的命令是否存在,如果存在,輸出指定命令名的路徑,否則,不做任何輸出

$? 表示前一條命令的執(zhí)行結(jié)果, 0 表示成功,其他表示失敗

腳本的執(zhí)行結(jié)果中先輸出了 top 命令的路徑,緊接著輸出了top命令存在的日志

把 command -v $1的結(jié)果重定向到 /dev/null 可以屏蔽掉 top命令路徑的輸出,調(diào)整之后的a.sh 內(nèi)容如下

#!/bin/bash    command -v $1 >/dev/null    if [[ $? -eq 0 ]]; then     echo "command $1 exist..."  else     echo "command $1 not exist..."  fi

再次執(zhí)行 ./a.sh top,結(jié)果如下

[tt@ecs-centos-7 dev_test]$ ./a.sh top command top exist... [tt@ecs-centos-7 dev_test]$

從執(zhí)行結(jié)果可以看出,把 command -v $1 的中間結(jié)果重定向到 /dev/null 之后,就不會再輸出top命令的路徑了

而且,修改之后的腳本執(zhí)行結(jié)果和原來的結(jié)果是一樣的

丟棄標準錯誤輸出

在shell腳本中,刪除一個文件的時候,需要先判斷文件是否存在,然后才能執(zhí)行刪除操作,否則刪除的時候會輸出錯誤, 一般的刪除文件腳本內(nèi)容如下:

#!/bin/bash        if [ -f $1 ]; then       rm $1    fi

可以通過把刪除命令的輸出重定向到 /dev/null 來避免輸出錯誤信息, 同時也不用判斷文件是否存在了, 調(diào)整之后的刪除腳本內(nèi)容如下:

#!/bin/bash  rm $1 >/dev/null 2>$1

分別執(zhí)行命令 ./d.sh t1.txt、./d.sh t2.txt ,結(jié)果如下:

[tt@ecs-centos-7 dev_test]$ ls t*.txt t1.txt [tt@ecs-centos-7 dev_test]$ ./d.sh t1.txt [tt@ecs-centos-7 dev_test]$ ./d.sh t2.txt [tt@ecs-centos-7 dev_test]$ ls t*.txt ls: 無法訪問t*.txt: 沒有那個文件或目錄

ls: 無法訪問t*.txt: 沒有那個文件或目錄

t1.txt 文件位于當前目錄下,t2.txt 不存在,從執(zhí)行結(jié)果可以看出,不管是刪除存在的文件還是不存在的文件都不會有錯誤輸出信息了

清空文件內(nèi)容

清空文件內(nèi)容有很多種方法,這里介紹一種利用 /dev/null 清空文件內(nèi)容的方法,具體的示例如下:

[tt@ecs-centos-7 dev_test]$ cat t.txt  123456 [tt@ecs-centos-7 dev_test]$ cat /dev/null > t.txt  [tt@ecs-centos-7 dev_test]$ cat t.txt

日志的處理

在腳本中,為了方便調(diào)試,經(jīng)常會加一些日志打印的邏輯,有時這種調(diào)試日志還比較多,腳本測試通過之后,這些調(diào)試日志可能就刪除或者注釋掉了

這里提供一個小技巧,既不用刪除也不用注釋掉日志,同時執(zhí)行腳本的時候還不會輸出這些調(diào)試日志

比如: 當前目錄有一個日志文件 log.txt,腳本的調(diào)試日志會以 echo " this is debug log" >> log.txt  的形式寫入這個文件中

現(xiàn)在腳本功能測試通過了,調(diào)試日志不需要寫入log.txt了

可以這么做:原來的腳本原樣不動,本地先刪除 log.txt,然后執(zhí)行 ln -s /dev/null ./log.txt 命令,該命令建立了一個  log.txt 到 /dev/nulll的軟連接,以后都有寫入 log.txt 的內(nèi)容實際都會寫入 /dev/null ,而寫入 /dev/null  的所有內(nèi)容都會被丟棄掉

以上是“Shell腳本中/Dev/Null有什么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

本文題目:Shell腳本中/Dev/Null有什么用
URL鏈接:http://aaarwkj.com/article34/ipdppe.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、定制網(wǎng)站、網(wǎng)站策劃、外貿(mào)建站、網(wǎng)站建設、

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設
日韩中文字幕综合不卡| 99热视频在线观看免费| 精品人妻一区二区三区乱码| 欧美色视频综合在线观看| 欧美午夜福利视频电影| 久久五十路六十路熟妇中出| 国产精品乱码一区二区视频| 亚洲精品一区二区三区中文字幕| 亚洲大陆免费在线视频| 国产三级av高清一区二区| 亚洲国产欧美日韩综合| 中文字幕在线日韩av| 黄片在线免费在线播放| 国产日韩欧美另类专区| 日本韩国av在线观看| 久久亚洲中文字幕精品一区四区| 免费视频观看在线一区二区三区| av小说亚洲激情乱| 亚洲中文字幕在线乱码| 羞羞的视频免费观看在线| av男人的天堂一区二区| 国产男女免费完整视频| 亚洲奇米精品一区二区| 一级亚洲国产日韩欧美| 一区二区三区毛片在线看| 91免费人成网站在线观看| 欧美亚洲国产青草久久| 国产一区二区成人精品| 亚洲黄香蕉视频免费看| 熟女另类视频在线观看| 国产精品日本一区二区 | 密臀av一区二区三区| 精品蜜桃臀91人少妇| 在线观看成人激情视频| 日韩中文字幕欧美国产| 黑人精品一区二区三区| 亚洲最大色网在线观看| 一区二区不卡中文av| 欧美人妻不卡一区二区久久| 中文字幕精品免费日韩在线| 欧美国产日本日韩在线黄|