Linux下Shell script 筆記(一)

2021-10-05 09:03:46 字數 1531 閱讀 8590

首先理清乙個概念,shell 是乙個用 c 語言編寫的程式,它是使用者使用 linux 的橋梁。shell 既是一種命令語言,又是一種程式語言。

shell 是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務。

例如在linux中最常用的bash,就是unix shell的一種。

bash是bourne shell的後繼相容版本與開放源**版本,它的名稱來自bourne shell(sh)的乙個雙關語(bourne again / born again):bourne-again shell。

shell 指令碼(shell script),是一種為 shell 編寫的指令碼程式。

業界所說的 shell 通常都是指 shell 指令碼,shell 和 shell script 是兩個不同的概念。

可以在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為:$n。n 代表乙個數字,1 為執行指令碼的第乙個引數,2 為執行指令碼的第二個引數,以此類推。$0 為執行的檔名。

$ chmod +x test.sh 

$ ./test.sh 1 2

執行的檔名:./test.sh

first arg:1

second arg:2

#!

/bin/bash

echo "shell 傳遞引數例項!"

;echo "檔名:$0"

;echo "first arg:$1"

;echo "second arg:$2"

;

&&(命令執行控制)

語法格式如下:

command1 && command2 [&& command3 …]

1 命令之間使用 && 連線,實現邏輯與的功能。

2 只有在 && 左邊的命令返回真(命令返回值 $? == 0),&& 右邊的命令才會被執行。

3 只要有乙個命令返回假(命令返回值 $? == 1),後面的命令就不會被執行。

若前面的命令執行成功,才會去執行後面的命令。這樣可以保證所有的命令執行完畢後,執行過程都是成功的。

&:這個命令的功能還不是特別清楚,但是可以同時執行多個命令,參考:

||(命令執行控制)

語法格式如下:

command1 || command2 [|| command3 …]

1 命令之間使用 || 連線,實現邏輯或的功能。

2 只有在 || 左邊的命令返回假(命令返回值 ?==1),||右邊的命令才會被執行。這和?語言中的邏輯或語法功能相同,即實現短路邏輯或操作。3只要有乙個命令返回真(命令返回值

? == 0),後面的命令就不會被執行。

出處:每個命令之間用 ; 隔開

說明:各命令的執行結果,不會影響其它命令的執行。換句話說,各個命令都會執行,

但不保證每個命令都執行成功。

命令gnome-terminal可以開啟乙個新的終端

可以利用這個命令開啟多個終端執行指令碼

Linux下Redis下安裝

redis安裝 檢查是否安裝redis ps ef grep redis2.檢查gcc服務是否安裝成功 rpm qa grep gcc注 安裝成功則顯示 mkdir redis5.解壓redis安裝包 tar zxvf redis 2.8.17 tar.gz c usr local redis 解壓...

Linux下程式設計

windows下我的環境為 windows10 vs2015 opencv3.4.0 opencv3.4.0 contrib python linux下我的環境為 ubuntu16004 也有ubuntu1804 opencv3.4.0 opencv3.4.0 contrib python gnu ...

linux下萬用字元

萬用字元是一類鍵盤字元,有星號 和問號 當查詢檔案呀資料夾時,可以使用它來代替乙個或多個真正字元 當不知道真正字元或者不想建入完整名字時,常常使用萬用字元代替乙個或多個真正字元。星號 可以使用星號代替0個或多個字元。如果正在查詢以aew開頭的乙個檔案,但不記得檔名其餘部分,可以輸入aew,查詢以ae...