shell 基本使用

2022-08-11 05:54:09 字數 3253 閱讀 3932

一、shell程式設計變數簡介

shell程式語言屬於弱語言,在使用變數前無需對變數進行宣告,變數的預設型別為「字串型別」,可以通過echo $變數名 進行提取變數的值。在bash中,變數型別分為:環境變數、本地變數(區域性變數)、位置變數、特殊變數,其中環境變數和本地變數是以作用域來進行區分。

二、變數配置原則

1、變數名只能採用英文本母跟數字命名,並且不能以數字開頭

2、給變數賦值時,等號兩邊不能有空格

3、若等號右邊字串之間有空格或者特殊符號,可以採用 [雙引號、單引號]進行括住

例如:name='zws is a student'

name="zws is a student"

注意:a. 單引號與雙引號的區別:單引號擴住的內容是屬於字串,純文字的,不會對特殊字元進行轉義,雙引號擴住的內容會對特殊字元進行轉義。

b.如果字元內容存在' " 特殊字元時,需要注意,因為單引號、雙引號是成對出現的。

4、可以採用 \ 將特殊字元轉換成一般字元(空格、$等)

5、如果需要其他命令返回的值,可通過` `(反單引號)或者$() 擴住相關命令

6、如果需要在子程式中執行,需要通過export將該變數變成環境變數(預設情況下所有的變數都是屬於區域性變數)

7、取消變數

unset 變數名

8、 $ 如果能夠準確的明確變數明時,可以省略{}

三、變數的資料型別

預設情況下變數的資料型別都是屬於字串型別,沒辦法對變數進行運算等操作,可以通過declare、typeset方式來設定變數的資料型別。總共有 整型、字串、陣列 等資料型別。

1、declare的使用方法

declare [-aixr] variable

選項與引數:

-a :將後面名為 variable 的變數定義成為陣列 (array) 型別

-i :將後面名為 variable 的變數定義成為整數數字 (integer) 型別

-x :用法與 export 一樣,就是將後面的 variable 變成環境變數;

-r :將變數配置成為 readonly 型別,該變數不可被更改內容,也不能 unset

a.讓sum進行100+200+300數字執行得出和

b.將sum變成環境變數

c.將sum變成唯讀屬性

d.將sum變數轉回非環境變數

四、變數作用域

#本地變數:作用域為整個bash程序有效

varname=value

#區域性變數:作用域為當前**段有效

local varname=value

#環境變數:作用域為當前的shell程序及其子程序

export varname=value

五、環境變數注意:1、指令碼在執行時會啟動乙個字shell子程序

2、命令列啟動指令碼啟動指令碼會繼承當前shell環境變數。

3、系統自動執行的指令碼(非命令列啟動),需要手動定義環境變數。 ===》(crontab自動執行執行指令碼可能有問題)

六、if條件判斷

1、單層簡單條件判斷

if

[ 條件判斷]; then

符合條件執行該語句

fi ---->結束 if

2、多重條件判斷
if

[ 條件判斷式一 ]; then

符合條件一,執行該語句

elif [ 條件判斷式二 ]; then

符合條件二,執行該語句

else

條件一與二均不成立時,執行該語句

fi ------>結束if語句

七、case判斷1、case應用場景:

適用於需要進行多重分支的應用情況(固定重數)

2、case語法格式

case  $

變數名稱

in <===以case開頭 $+關鍵字  然後in結尾

模式1 ) 

<===判斷語句,可採用特殊字元

程式段1

;; <===使用兩個連續的分號,代表該模式程式段結束,類似c語言中的break;

模式2)

程式段2

;;* 

) <===用 * 來代表所有其他值,類似c語言中的default。

預設執行程式段

;;esac

<===結束case語句 【case反過來寫】

shell基本使用教程

shell程式設計 1 沒有資料型別,都是字串,數值也時字串 建立變數 a hello echo aec ho a echo aech o echo 三者等價 echo ahe lloe cho hell ob a hello echo hello b ahello echo hel loba a ...

shell的基本使用

寫 bin bash,告訴系統其後路徑所指定的程式即是解釋此指令碼檔案的 bash 程式。chmod x test.sh 使指令碼具有執行許可權 test.sh 執行指令碼your name harry 注意,變數名和等號之間不能有空格 if condition then command1 comm...

shell簡介及基本使用

shell 外殼 是乙個用 c 語言編寫的程式,它是使用者使用 linux 的橋梁。shell既是一種命令語言,又是一種程式語言。shell 是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務。在linux中有很多態別的shell,不同的shell具備不同的功能,...