c語言大括號的用法

來源:文萃谷 3.06W

大括號{}出現在shell腳本的各個角落,其用法也各有不同。同音多義字在漢語中最容易讓人混淆,而大括號也正是bash語言中的“同音多義字”。下面小編就為大家介紹c語言大括號的用法。

c語言大括號的用法

 {}第一種用法,符號擴展

#!/bin/bash

echo "{hello,world}"

#######################

# 輸出為:"hello" "world"

#######################

echo {a..c} #只能是..

######################

# 輸出為: a b c

######################

{}第二種用法,代碼塊表示法,與c語言中的作用相似,c語言中,有了{}的代碼塊,其變量作用域就改變了;bash中,卻不存在這個功能,在{}中的內容,仍然與外部變量名相通。此外,{}代碼塊表示法還有一個作用,就是將代碼塊內所有的輸入輸出信息重定向。

 #腳本1

#!/bin/bash

a=123

{ a=321; } #大括號兩邊內部變量與大括號之間一定要用空格隔開

echo "a = $a " #輸出 a=321

 #腳本2

#!/bin/bash

File="`pwd`/fas" #fas是由自己在當前目錄創建的.文件

{

read line1

read line2

} < $File #此處進行重定向,將fas文件的內容讀入到line1和line2

echo "First line in $File is: "

echo "$line1"

echo

echo "second line in $File is :"

echo "$line2"

exit 0

與大括號{}有些相似的符號是圓括號()。但圓括號()內的代碼將啟動一個子shell來運行,{}不會這樣。

#!/bin/bash

a=123

( a=321; )

echo "a = $a" #a=123

 附註:

1.如果想讓你的腳本像ls等命令一樣通用,那麼需要將命令複製到/usr/local/bin,並使用chmod 777 filename修改其執行權限。

2./bin目錄、/sbin目錄、/usr/local/bin/目錄、/usr/local/sbin目錄、/usr/bin目錄、/usr/sbin目錄的區別與聯繫

最需要注意的一點,usr不是user的意思,而是unix system resource的簡稱,也就是unix系統資源。在/usr這個目錄下,放了一些系統

相同之處:都是一些命令;

不同之處:

/bin:基本命令

/sbin:基本系統命令

/usr/bin:與/bin類似,包括此後安裝軟件的命令

/usr/sbin:與/sbin類似,包括此後增加的系統管理的一些命令

/usr/local/bin:與/bin,/usr/bin類似,但是局部(local)範圍,linux是多用户系統,有分級的權限,有些軟件內容必須添加在/usr/local/bin,而不是/usr

/usr/local/sbin:同上

3.好腳本需要珍藏,以備不時之需。

熱門標籤