c語言大括號的用法
大括號{}出現在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.好腳本需要珍藏,以備不時之需。