shell程式設計及常用命令

2021-10-07 10:13:55 字數 2450 閱讀 2393

1、新建乙個.sh 測試指令碼並進入 進行編輯

輸入命令: vi test.sh

2、進入編輯後,先輸入一行命令:#!/bin/bash

#! 告訴系統其後路徑所指定的程式即是解釋此指令碼檔案的 shell 程式

然後邏輯編寫

1、輸出

echo 空格 輸出的內容

然後給指令碼檔案賦予執行的許可權

執行2、變數

定義變數:

注意事項:

1、變數名和等號之間不能有空格

2、命名只能使用英文本母,數字和下劃線,首個字元不能以數字開頭

3、中間不能有空格,可以使用下劃線 _

4、不能使用標點符號

5、不能使用bash裡的關鍵字 (輸入help命令檢視)

使用變數:

在定義過的變數前加上$符號即可

便可在控制台輸出

3、變數型別

字串:定義字串時可以用單引號,也可以用雙引號,也可以不用引號

單引號:

單引號裡的任何字元都會原樣輸出,單引號字串中的變數是無效的

雙引號:

1、雙引號裡可以有變數

2、雙引號裡可以出現轉義字元

運算子:

= 檢測兩個字串是否相等,相等返回 true

!= 檢測兩個字串是否相等,不相等返回 true

-z 檢測字串長度是否為0,為0返回 true

-n 檢測字串長度是否不為 0,不為 0 返回 true

$ 檢測字串是否為空,不為空返回 true

數值型算術運算子:

+,-,*,/ 對應了:加,減,乘,除

%,=,==,!= 對應了:取餘,賦值,相等判斷,不等判斷

簡單的加法求和:

結果為:30

加減乘除都可以按這個來做

注: 原生bash不支援簡單的數**算,但是可以通過其他命令來實現,例如 awk 和 expr。

expr 是一款表示式計算工具,使用它能完成表示式的求值操作

數值型關係運算子:

-eq 檢測兩個數是否相等,相等返回 true

-ne 檢測兩個數是否不相等,不相等返回 true

-ge 檢測左邊的數是否大於右邊的,如果是,則返回 true

-lt 檢測左邊的數是否小於右邊的,如果是,則返回 true

-le 檢測左邊的數是否大於等於右邊的,如果是,則返回 true

-gt 檢測左邊的數是否小於等於右邊的,如果是,則返回 true

4、注釋:

在語句頭部 新增 #

5、shell的流程控制語句

if語句:

if

[條件]

then

//邏輯**內容

fi //結束標誌,不能丟掉

if-else語句:

if

[條件]

then

//邏輯**快

else

[條件]

//邏輯**快

fi

if-esle-if語句:

if

[條件]

then

//邏輯**片

elif [條件]

then

//邏輯**片

else

[條件]

//邏輯**片

fi

for迴圈:

for

((條件))do

//邏輯**

done //與前面的do相對應 不能丟掉

增強for遍歷迴圈:

for a in n1,n2,n3....do

//邏輯**

//echo "輸出: $a"

done

while迴圈:

a=

1while

[a -le 5]do

//邏輯**

let"a++"

done

case判斷:

case 變數 in:

值1)//邏輯**;;

//相當於break中斷

值2) 邏輯**

;;*)//全部不滿足時執行的語句

esac

Shell程式設計 shell常用命令

瀏覽器標籤頁的切換 ctrl tab 終端 開啟終端快捷建 ctrl alt t 關閉終端快捷鍵 ctrl shift q 開啟新的終端標籤頁快捷鍵 ctrl shift t 關閉終端標籤頁快捷鍵 ctrl shift w 終端頁之間的切換快捷鍵 ctrl pgup 終止程序 ctrl c 退出程式...

shell 常用命令

shell 程式設計中使用到得if語句內判斷引數 b 當file存在並且是塊檔案時返回真 c 當file存在並且是字元檔案時返回真 d 當pathname存在並且是乙個目錄時返回真 e 當pathname指定的檔案或目錄存在時返回真 f 當file存在並且是正規檔案時返回真 g 當由pathname...

shell常用命令

1.echo echo 用於輸出,相當於c語言中的printf 用echo輸出變數的值,需要在變數前面加 輸出a的值 a 1echo a shell中變數不需要定義,直接賦值 要用到變數時,需要加 2.管道 命令之間的輸入。將乙個命令的輸出作為另乙個命令的輸入。管道相當於一種過濾功能。3.grep ...