Linux shell指令碼程式設計基礎

2021-09-29 07:27:12 字數 1792 閱讀 2197

把指令碼路徑寫入$path變數。

帶上路徑執行,需要執行許可權。

bash

bash後跟上指令碼,該方法指令碼不需要執行許可權也能執行。

| bash

讀入指令碼內容,通過管道符交給bash執行。當前主機遠端呼叫其他主機的指令碼。

1. 宣告shell型別

#!/bin/bash

2. 變數

3. 函式

4. 主程式

在編寫指令碼時,如果使用了變數,使用完畢後要使用uset刪除變數。因為程式執行期間,如果不人為刪除變數,變數將不會在記憶體中釋放空間。

把命令賦值給變數,如果使用echo,只會返回命令本身,不會返回命令結果,因為echo只會把變數的賦值當成字串處理。

(1) 如果把文字內容當作變數賦值,echo $執行時,如果不帶上雙引號,內容會以一行顯示;如果帶上雙引號,會保留原有文字格式。

(2) 變數1指向賦值1,變數2指向變數1,實際上變數2是指向賦值1。如果此時變數1指向賦值2,變數2仍指向賦值1。

(3) 區域性變數不能在父程序和子程序之間傳遞。

(1) 父程序的全域性變數可以傳給子程序使用,但子程序修改後不能傳回給父程序。

(2) 如果命令能識別變數,變數前不需要加上$。

cmd1 && cmd2; cmd3

如果cmd1為真,cmd2執行;如果cmd1為假,cmd2不執行,cmd3執行。

cmd1 || cmd2; cmd3

如果cmd1為真,cmd2不執行,cmd3執行;如果cmd1為假,cmd2執行。

變數在中括號時,要加上雙引號,避免因變數為空導致語法錯誤。因為條件判斷語句需要前後都有值才能做比較。

大括號:不開啟子shell,如果括號內有exit,會直接退出當前shell;

小括號:會開啟子shell,如果括號內有exit,只會退出子shell。

如果在指令碼中,要使用大括號,且最後要加上分號。

中括號:如果括號內有正規表示式,需要用兩個中括號;如果括號內沒有正規表示式,只需要乙個中括號。

雙中括號可以使用雙等號匹配字元萬用字元。

read命令可以批量給多個變數賦值,但值需要用空格隔開,也可以用《讀取檔案中的內容進行賦值,也需要用空格隔開。

使用傳統方式執行指令碼檔案,會先開啟子程序,在子程序中執行指令碼檔案,不影響當前shell;

使用.或source執行指令碼檔案,會直接在父程序中執行指令碼檔案,影響當前shell。

別名命令不能在指令碼中執行。

八、bash展開命令列順序

1. 把命令列分成單個命令詞

2. 展開別名

3. 展開大括號的宣告( {})

4. 展開波浪符宣告( ~)

5. 命令替換$() 和 ``)

6. 再次把命令列分成命令詞

7. 展開檔案通配( *、 ?、 [abc]等等)

8. 準備i/0重導向( <、 >)

9. 執行命令

《Linux shell指令碼程式設計入門》

linux shell指令碼程式設計入門 linuxos在伺服器以及近來引發熱議的嵌入式系統中都得到廣泛應用,linuxshell指令碼程式設計入門 介紹的就是該程式必備的shell程式設計要素。尤其還收錄了現在門戶 企業等使用的主流套件centos communityenterpriseopera...

Linux Shell指令碼程式設計入門

shell 指令碼是包含一系列命令的文字本當 讀取執行該文字文件就可以執行文件裡面的命令 常用於執行批量事務處理 重複性操作 自動化運維 定時執行任務等 編寫乙個簡單 shell 指令碼 1 建立 shell 指令碼文件 vi hellow.sh2 編寫 shell 指令碼 注意第一行是標記這個指令...

Linux Shell程式設計 入門指令碼

shell 核心介於使用者和kernel核心之間的介面,shell 殼保護內部的核kernel,使用shell程式設計類似於dos中的批處理檔案,稱為shell script,又叫shell命令檔案。從程式設計師的角度來看,shell本身是一種用c語言編寫的程式,從使用者的角度來看,shell是使用...