回首頁
修改
Mail
FTP

中




2008年3月14日 星期五

[Variable]變數與單引號雙引號之認知

echo $PATH 同echo ${PATH}
name=Radius\'s\ name
echo $name
Radius's name

利用反斜線 (\) 跳脫特殊字元 如上例單引號與空白鍵
新增變數內容於變數裡
以上面接著為例

name=$nameisgood <--新增isgood <---是錯誤的
會變成name= $nameisgood <這個變數
正確應該是
name="$name"isgood

name=${name}isgood
要讓name這個變數能夠在子程序中能夠使用
export name <---透過 export 將變數變成環境變數
bash
echo $name
Radius's nameisgood <-成功秀出
exit


那麼在變數的設定當中,單引號與雙引號的用途有何不同?
單引號與雙引號的最大不同在於雙引號仍然可以保有變數的內容,但單引號內僅能是一般字元 ,而不會有特殊符號
上面的理論很重要唷!切記
舉個例:

name=Radius
myname="$name is good"
echo $myname
Radius is good
myname='$name is good'
$name is good

懂了嗎!
另外在雙引號裡面的空白與單引號可不加\來跳脫特殊字元
因為被雙引號給括在裡面
下面是不加雙引號的寫法:

myname=$name\ is\ good




變數與變數內容以等號『=』來連結;
等號兩邊不能直接接空白字元;
變數名稱只能是英文字母與數字,但是數字不能是開頭字元;
若有空白字元可以使用雙引號『 " 』或單引號『 ' 』來將變數內容結合起來,但須要特別留意, 雙引號內的特殊字元可以保有變數特性,但是單引號內的特殊字元則僅為一般字元;
必要時需要以跳脫字元『 \ 』來將特殊符號 ( 如 Enter, $, \, 空白字元, ' 等 ) 變成一般符號;
在一串指令中,還需要藉由其他的指令提供的資訊,可以使用 quote 『 ` command` 』;(特別特別注意,那個 ` 是鍵盤上方的數字鍵 1 左邊那個按鍵,而不是單引號!)
若該變數為擴增變數內容時,則需以雙引號及 $變數名稱 如:『 "$PATH":/home』繼續累加內容;
若該變數需要在其他子程序執行,則需要以 export 來使變數變成環境變數, 如『export PATH』;
通常大寫字元為系統預設變數,自行設定變數可以使用小寫字元,方便判斷 ( 純粹依照使用者興趣與嗜好 ) ;
取消變數的方法為:『unset 變數名稱』。
FYI

0 回應: