Linux之shell指令碼中的變數

2021-10-08 10:52:46 字數 2826 閱讀 7172

變數

1.1 定義

1.2 變數存在的意義

變數的定義export

2.1 環境級別(僅在當前環境下生效)

2.2 使用者級別(僅在當前使用者下生效)

2.3 系統級別

2.4 變數名稱

變數的轉譯

3.1 轉譯

3.2 宣告{}

3.3 變數的陣列

命令別名設定alias

4.1 臨時設定

4.2 使用者級別

4.3 系統級別

使用者環境變數的更改

5.1 使用者級別

5.2 系統級別

利用命令的執行結果設定變數

6.1 直接利用命令執行結果

6.2 指令碼中的傳參

指令碼函式

變數變數就是記憶體一片區域的位址

變數存在的意義:命令無法操作一直變化的目標;用一串固定的字元來表示不固定的目標可以解決此問題。

1、環境級別(僅在當前環境下生效)

export  a=

1

在環境關閉後變數失效

2、使用者級別(僅在當前使用者下生效)

vim  ~

/.bash_profile

export a=

2

3.系統級別

vim  /etc/profile

export a=2

vim /etc/profile.d/westos.sh

export b=

3

4、變數名稱

"字元"

"_""數字"

#注意事項:

#不能用數字開頭

#建議:

#變數名稱短全用大寫字元變數名稱長用_區分子類

1、轉譯

\                  #轉譯單個字元

""#弱引用,批量轉譯字元, 不能轉譯" \ " " ` " " $ " " ! "

''#強引用

2、宣告

a =

1echo $ab

echo $b

3、變數的陣列

a=(1

2345

) echo $

echo $

echo $

echo $

輸出陣列所有字元的*和@的區別

a=(1

23)a[

*]= 「1

23」 ##相當於一串

a[@]

= 「1」 「2」 「3」 ##相當於多串

a=$(date)

a=($(date)

)#a為陣列

4、linux中命令的別名設定

alias  xie=

'vim'

#臨時設定

vim ~

/.bashrc

alias xie=

'vim'

#只針對與使用者生效

vim /etc/bashrc #針對系統所在使用者生效

alias xie=

'vim'

unalias xie #刪除當前環境中的alias

5、使用者環境變數的更改

環境變數:

使用者在作業系統時使用到的命令搜尋路徑。

設定方式:

~

/.bash_profile

export path=$path:

/mnt

/etc/bash_profile

export path=$path:

/mnt

6、利用命令的執行結果設定變數

直接利用命令執行結果

$()|

''#優先執行$()

# 優先執行,shell中

`` # 優先執行,所有均可

test=

'hostname' test=$(hostname)

非互動模式:

$0

is/mnt/test.sh #指令碼本身

$1is westos #指令碼後所輸入的第一串字元

$2is linux

$3is redhat

$*is westos linux redhat #指令碼後所輸入的所有字元"westos linux redhat"

$@ is westos linux redhat #指令碼後所輸入的所有字元'westos' 'linux' 'redhat'

$# is 3 #指令碼後所輸入的字串個數

互動模式傳參:

read    westos    #對westos賦值

Linux之shell指令碼

1.shell是系統的使用者介面,提供了使用者與核心進行互動操作的一種介面。它接收使用者輸入的命令並把它送入核心去執行。2.每個linux系統的使用者可以擁有他自己的使用者介面或shell,用以滿足他們自己專門的shell需要。同linux本身一樣,shell也有多種不同的版本 比如bash或sh ...

linux之shell指令碼

shell 是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務,是指令碼中命令的直譯器。1 記錄命令執行的過程和執行邏輯,以便以後重複執行 2 指令碼可以批量處理主機 3 指令碼可以定時處理主機。bin bash 幻數 指令碼執行的直譯器,最優先執行vim自動新增...

shell指令碼 複數 linux之shell指令碼

1 如何向指令碼傳遞引數 script argument 例子 顯示檔名稱指令碼 2 如何在指令碼中使用引數 第乙個引數 1,第二個引數 2 例子 指令碼會複製檔案 arg1 到目標位址 arg2 3 如何計算傳遞進來的引數 4 如何在指令碼中獲取指令碼名稱 05 如何檢查之前的命令是否執行成功 6...