注:相關知識來自「鳥哥的linux私房菜」
變數與變數內容用等號[=]鏈結,如下:
myname=vbird
等號兩邊不用直接用空格符,如下:
# 錯誤事例
name = vbird
myname= vbird tsai
變數內容若有空格符可以用雙引號["]或單引號[『]將變數內容結合起來,但
雙引號內的特殊字元如$,可以保有原本特性:
var="lang is $lang" # echo $var 可以得到 lang is en_us
單引號內的特殊字元僅表示一般字元(純文字):
var='lang is $lang' $ echo $var 可以得到lang is $lang
若變數為擴增變數時,則用[$變數名稱] 或 [$] 累加內容:
path="$path":/home/bin
-------------------------------例項分割線-------------------------------
# 範例一:設定一發量 name ,且內容為 vbird
[root@www ~]
# 12name=vbird
-bash: 12name=vbird: command not found <=
=螢幕會顯示錯誤!因為不能以數字開頭!
[root@www ~]
# name = vbird <==還是錯誤!因為有空格!
[root@www ~]
# name=vbird <==ok的啦!
# 範例二:承上題,若髮量內容為 vbird's name 呢,就是髮量內容含有特殊符號時:
[root@www ~]
# name=vbird's name
# 單引號與雙引號必須要成對,在上面癿謳定中僅有乙個單引號,因此當你挄下enter 後,
# 你還可以繼續輸入變數內容。這與我們所需要的功能不同,失敗啦!
# 記得,失敗後要復原請按下 [ctrl]-c 結束!
[root@www ~]
# name="vbird's name" <==ok 的啦!
# 指令是由左邊向右找->,先遇到的引號先有用, 因此,單引號會失效
[root@www ~]
# name='vbird's name' <==失敗的啦!
# 因為前兩個單引號已成對,後面就多了 乙個單引號!因此也就失敗了!
[root@www ~]
# name=vbird\'s\ name <==ok的啦!
# 利用反斜槓 (\) 跳脫特殊字元,例如單引號與空格鍵,這也是 ok的啦!
#範例三:我要在 path 這個髮量當中『累加』 :/home/dmtsai/bin 這個目錄
[root@www ~]
# path=$path:/home/dmtsai/bin
[root@www ~]
# path="$path":/home/dmtsai/bin
[root@www ~]
# path=$:/home/dmtsai/bin
# 上面這三種格式在 path 裡頭的設定都是 ok 的!但是底下的例子就錯誤的
#範例四:連線範例三,我要將 name 的內容多出 "yes" 呢?
[root@www ~]
# name=$nameyes
# 知道了吧?如果沒有雙引號,那麼髮量成了啥?name的內容是 $nameyes 這個變數!
# 呵呵!我們可沒有設定過 nameyes 這個變數!所以,應該是底下這樣才對!
[root@www ~]
# name="$name"yes
[root@www ~]
# name=$yes <==以此例較佳!
bash 與bash相關的linux命令
echo 命令一般不需用引號來標記字串。如果字串中有空格,引號等特殊字元,可以用引號將其括起來。否則輸出結果會出問題。n 不要在最後自動換行 e 解析輸出內容中的轉義符。常用的轉義符 a 發出警告聲 c 最後不加上換行符號 t tab鍵 n 換行從鍵盤或檔案中讀入資訊,將其賦給變數 乙個或多個 直到...
linux 相關知識
一 shell的基本概念 shell是作業系統中執行的程式 位於作業系統核心和使用者之間 shell定義使用者與os程序互動的乙個介面,命令直譯器 二 shell的分類 種類 bsh csh ksh bash bash是linux的預設shell bash是bsh的公升級替代品 tcsh是csh的相...
Linux相關知識
1 安裝五筆 sudo apt get install ibus ibus table ibus table wubi2 linux如何切換到root使用者 預設安裝完成之後並不知道root使用者的密碼,那麼如何應用root許可權呢?1 sudo 命令 這樣輸入當前管理員使用者密碼就可以得到超級使用...