c語(yǔ)言大括號(hào)的用法
時(shí)間:
長(zhǎng)思709由 分享
c語(yǔ)言大括號(hào)的用法
大括號(hào){}出現(xiàn)在shell腳本的各個(gè)角落,其用法也各有不同。同音多義字在漢語(yǔ)中最容易讓人混淆,而大括號(hào)也正是bash語(yǔ)言中的“同音多義字”。下面小編就為大家介紹c語(yǔ)言大括號(hào)的用法。
{}第一種用法,符號(hào)擴(kuò)展
#!/bin/bash
echo \"{hello,world}\"
#######################
# 輸出為:"hello" "world"
#######################
echo {a..c} #只能是..
######################
# 輸出為: a b c
######################
{}第二種用法,代碼塊表示法,與c語(yǔ)言中的作用相似,c語(yǔ)言中,有了{(lán)}的代碼塊,其變量作用域就改變了;bash中,卻不存在這個(gè)功能,在{}中的內(nèi)容,仍然與外部變量名相通。此外,{}代碼塊表示法還有一個(gè)作用,就是將代碼塊內(nèi)所有的輸入輸出信息重定向。
#腳本1
#!/bin/bash
a=123
{ a=321; } #大括號(hào)兩邊內(nèi)部變量與大括號(hào)之間一定要用空格隔開(kāi)
echo "a = $a " #輸出 a=321
#腳本2
#!/bin/bash
File="`pwd`/fas" #fas是由自己在當(dāng)前目錄創(chuàng)建的文件
{
read line1
read line2
} < $File #此處進(jìn)行重定向,將fas文件的內(nèi)容讀入到line1和line2
echo "First line in $File is: "
echo "$line1"
echo
echo "second line in $File is :"
echo "$line2"
exit 0
與大括號(hào){}有些相似的符號(hào)是圓括號(hào)()。但圓括號(hào)()內(nèi)的代碼將啟動(dòng)一個(gè)子shell來(lái)運(yùn)行,{}不會(huì)這樣。
#!/bin/bash
a=123
( a=321; )
echo "a = $a" #a=123
附注:
1.如果想讓你的腳本像ls等命令一樣通用,那么需要將命令復(fù)制到/usr/local/bin,并使用chmod 777 filename修改其執(zhí)行權(quán)限。
2./bin目錄、/sbin目錄、/usr/local/bin/目錄、/usr/local/sbin目錄、/usr/bin目錄、/usr/sbin目錄的區(qū)別與聯(lián)系
最需要注意的一點(diǎn),usr不是user的意思,而是unix system resource的簡(jiǎn)稱,也就是unix系統(tǒng)資源。在/usr這個(gè)目錄下,放了一些系統(tǒng)
相同之處:都是一些命令;
不同之處:
/bin:基本命令
/sbin:基本系統(tǒng)命令
/usr/bin:與/bin類似,包括此后安裝軟件的命令
/usr/sbin:與/sbin類似,包括此后增加的系統(tǒng)管理的一些命令
/usr/local/bin:與/bin,/usr/bin類似,但是局部(local)范圍,linux是多用戶系統(tǒng),有分級(jí)的權(quán)限,有些軟件內(nèi)容必須添加在/usr/local/bin,而不是/usr
/usr/local/sbin:同上
3.好腳本需要珍藏,以備不時(shí)之需。