c語言大括號的用法
本文已影響
2.91W人
大括號{}出現在shell腳本的各個角落,其用法也各有不同。同音多義字在漢語中最容易讓人混淆,而大括號也正是bash語言中的“同音多義字”。下面小編就爲大家介紹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.好腳本需要珍藏,以備不時之需。