shell中冒号 : 用途说明
我們知道,在Linux系統(tǒng)中,冒號(hào)(:)常用來做路徑的分隔符(PATH),數(shù)據(jù)字段的分隔符(/etc/passwd)等。其實(shí),冒號(hào)(:)在Bash中也是一個(gè)內(nèi)建命令,它啥也不做,是個(gè)空命令、只起到占一個(gè)位置的作用,但有時(shí)候確實(shí)需要它。當(dāng)然,它也有它的用途的,否則沒必要存在。在·Linux的幫助頁中說它除了參數(shù)擴(kuò)展和重定向之外不產(chǎn)生任何作用。
man :
No effect; the command does nothing beyond expanding arguments and performing any specified redirections. A zero exit code is returned.
常用參數(shù)
啥也不做,只起到占位符的作用。比如在編寫腳本的過程中,某些語法結(jié)構(gòu)需要多個(gè)部分組成,但開始階段并沒有想好或完成相應(yīng)的代碼,這時(shí)就可以用:來做占位符,否則執(zhí)行時(shí)就會(huì)報(bào)錯(cuò)。
Bash代碼
if [ "today" == "2011-08-29" ]; then
:
else
:
fi
寫代碼注釋
單行注釋
: your comment here
# your comment here
多行注釋
: 'comment line1
comment line2
more comments'
清空文件file的內(nèi)容
: >file
>file
默認(rèn)參數(shù)
: ${VAR:=DEFAULT}
當(dāng)變量VAR沒有聲明或者為NULL時(shí),將VAR設(shè)置為默認(rèn)值DEFAULT。如果不在前面加上:命令,那么就會(huì)把${VAR:=DEFAULT}本身當(dāng)做一個(gè)命令來執(zhí)行,報(bào)錯(cuò)是肯定的。
使用示例
示例一 參數(shù)擴(kuò)展
[root@node56 ~]# : abc=1234
[root@node56 ~]# echo $abc
[root@node56 ~]# : ${abc:=1234}
[root@node56 ~]# echo $abc
1234
[root@node56 ~]# ${abc:=1234}
-bash: 1234: command not found
[root@node56 ~]#
示例二 清空文件
[root@node56 ~]# cat <<<"Hello" >123.txt
[root@node56 ~]# cat 123.txt
Hello
[root@node56 ~]# : >123.txt
[root@node56 ~]# cat 123.txt
[root@node56 ~]#
?
?
?
?
轉(zhuǎn)載自 我使用過的Linux命令之:(冒號(hào)) - 啥也不做(除了……)
總結(jié)
以上是生活随笔為你收集整理的shell中冒号 : 用途说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java表格更新javadb_Java解
- 下一篇: java和Js中的类型转换_JavaSc