Linux相關知識之bash

2021-08-28 10:09:53 字數 1971 閱讀 9866

注:相關知識來自「鳥哥的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 命令 這樣輸入當前管理員使用者密碼就可以得到超級使用...