Shell 指令碼學習記錄(一)

2021-09-30 13:58:19 字數 1354 閱讀 5028

一、**shell

學習shell指令碼之前,我們有必要先來認識認識什麼叫shell?

談到這個問題,我們首先來回憶一下計算機自底向上的體系,最下層是硬體,上面是驅動,上面是作業系統,在上面是shell,所謂的外殼。

shell其實是使用者和作業系統進行人機互動的乙個inte***ce。主要通過命令列來使系統完成某種工作,因此shell最簡單的定義為—命令直譯器:

可以把使用者的資訊傳遞給作業系統,也可以把作業系統的處理結果翻譯給使用者。

最長用的shell:sh 、csh、bash等等

二、shell的執行

1.shell裡 #! /bin/bash的含義 #!是一種標記,後面是指定的直譯器,執行之前 用命令 chmod +x 來修改 script.s**件的許可權,使其有可執行許可權。執行期間 shell建立子程序來呼叫exec執行 ./script.sh。

三、基本符號含義

1. echo 是向 視窗輸入文字 ,例如: echo 「hello」

2. 將檔案儲存為test.sh 執行命令為 ./test.sh

3. 定義變數,或者字串不用申明,例如:value=1 string=」hello world」

注意:變數名和等號之間不能加空格

4.使用變數 在前面加上就行

,例如s

trin

g=」h

appy

」ech

o

echo string 或者 echo$

注意:用來讓系統更加清晰的認識到變數的界限,可加可不加。1命

令行第一

個引數 2 命令列第二個引數 。。。。。$@ 是命令列所有引數

四、基本語法

1.條件語句

①. if/else/elif/

if 、else 語句 和c語言中差不多 用於條件分支。注意 if 中判斷語句0為真,1為假,這和c中的語法有區別,注意區分。

注意:if語句塊後面要跟fi來結束if語句

用法和c語言中switch /case語句一樣 用esac語句結束語句塊。

演示:

先寫到這兒 其他語法見下文

shell指令碼學習記錄(1)

增加變數的內容 path path home bin 若要把區域性變數變為全域性變數export 取消變數的方法unset unset 變數 set檢視環境變數和自定義變數 ps1提示字元的設定 本身就是乙個變數代表這個shell的程序號 也是乙個變數代表上乙個執行的命令所返回的值,成功返回0,不成...

shell指令碼記錄

size x large shell size case語法 case 1 in start start stop stop usage esac 檢視系統32位還是64位 uname m x86 64 arch x86 64 size x large grep size grep命令hang住的問...

shell指令碼記錄

shell學習 shell 指令碼格式 檔案以.sh結尾,檔案頂行輸入 bin bash 變數 變數名 變數值 獲取變數值 變數名 環境變數 使用export 變數名 這樣在任何位置都可以獲取到變數值 shell 預設賦值變數都是字串 0 shell檔名 n 第n個變數 變數數量 所有變數 所有變數...