linux 的空命令:(冒號)


php里面又“空操作”這個東西,於是想一想linux的命令中是否有“空命令”這種東西,搜索一下,結果發現真的有這個東西存在 -------:)

冒號 : 就是空命令。即什么也不做,是一個命令占位符

 

#!/bin/bash
# 1、ping -c1 -w1 中-c1是指ping的次數,-w是指執行的最后期限,也就是執行的時間,單位為秒
# 2、&>/dev/null 是指標准輸出和錯誤輸出都輸出到/dev/null上,而不在界面上顯示;
# 后面的&&和|| 是與和或得意思,如a&&b||c ,表示a為真,則執行b;否則執行c
for I in `seq 1 254`; do
    ping  -c1 -w1 192.168.0.$I &>/dev/null && echo "192.168.0.$I is up" ||        echo "192.168.0.$I is down"
done

  進一步問題,如果某個ip ping不通的話,不需要打印出“192.168.0.* down”這個消息,我只想打印出 “up”的消息,於是后面這個命令就可以用“:” 這個空命令代替就可以。

#!/bin/bash
# 1、ping -c1 -w1 中-c1是指ping的次數,-w是指執行的最后期限,也就是執行的時間,單位為秒
# 2、&>/dev/null 是指標准輸出和錯誤輸出都輸出到/dev/null上,而不在界面上顯示;
# 后面的&&和|| 是與和或得意思,如a&&b||c ,表示a為真,則執行b;否則執行c

for I in `seq 1 254`; do
    ping  -c1 -w1 192.168.123.$I &>/dev/null && echo "192.168.123.$I is up" ||        :
done

  

------------------------------------------------------------------------------------------------------

途說明

我們知道,在Linux系統中,冒號(:)常用來做路徑的分隔符(PATH),數據字段的分隔符(/etc/passwd)等。其實,冒號(:)在Bash中也是一個內建命令,它啥也不做,是個空命令、只起到占一個位置的作用,但有時候確實需要它。當然,它也有它的用途的,否則沒必要存在。在·Linux的幫助頁中說它除了參數擴展和重定向之外不產生任何作用。

 

man : 寫道

: [arguments]

   No effect; the command does nothing beyond expanding arguments and performingany specified redirections. A zero exit code is returned.

 

常用參數

格式::

·啥也不做,只起到占位符的作用。比如在編寫腳本的過程中,某些語法結構需要多個部分組成,但開始階段並沒有想好或完成相應的代碼,這時就可以用:來做占位符,否則執行時就會報錯。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM