shell基礎筆記

2022-09-03 13:54:10 字數 2906 閱讀 3790

3. 運算子

4.條件判斷

5.流程控制

6. read 讀取控制條輸入

7. 函式

8 shell 工具

指令碼格式:

執行指令碼(有兩種方法)

改變許可權為755

採用解析器 例如

常用的系統變數

基本語法

定義變數: 變數=值

撤銷變數: unset 變數

宣告靜態變數 : readonly 變數,不能unset了

變數定義規則

變數名稱可以由字母、數字和下劃線組成,但是不能以數字開頭,環境變數名建議大寫。

等號兩側不能有空格

在bash中,變數預設型別都是字串型別,無法直接進行數值運算。

變數的值如果有空格,需要使用雙引號或單引號括起來。

可把變數提公升為全域性環境變數,可供其他shell程式使用------>export 變數名

變數:$n

變數: $#

變數:$*

變數:$@

變數:$?「((

表示式)

)」或「

((運算

式))」

或「[表示式]」

expr + , - , *, /, % 加,減,乘,除,取餘

格式解釋

(1)兩個整數之間比較

=字串比較

-lt小於(less than)

-le小於等於(less equal)

-eq等於(equal)

-gt大於(greater than)

-ge大於等於(greater equal)

-ne不等於(not equal)

(2)按照檔案許可權進行判斷

-r有讀的許可權(read)

-w有寫的許可權(write)

-x有執行的許可權(execute)

(3)按照檔案型別進行判斷

-f檔案存在並且是乙個常規的檔案(file)

-e檔案存在(existence)

-d檔案存在並是乙個目錄(directory)

&&表示前一條命令執行成功時,才執行後一條命令

||1.基本語法

if [ 條件判斷式 ];then 

程式 fi 或者

if [ 條件判斷式 ]

then

程式 fi

基本語法

case $變數名 in 

"值1")

如果變數的值等於值1,則執行程式1

;; "值2")

如果變數的值等於值2,則執行程式2

;; …省略其他分支…

*) 如果變數的值都不是以上的值,則執行此程式

;; esac

基本語法

for (( 初始值;迴圈控制條件;變數變化 )) 

do 程式

done

s=0

for((i=

0;i<=

100;i++

))do

s=$[

$s+$i

]done

echo

$s

for 變數 in 值1 值2 值3… 

do 程式

done

for i in $*

doecho "ban zhang love $i "

done

比較∗和∗

和@區別

基本語法

while [ 條件判斷式 ] 

do 程式

done

例子

s=0

i=1while [ $i -le 100 ]

do s=$[$s+$i]

i=$[$i+1]

done

echo $s

基本語法

引數:

read -t 7 -p "enter your name in 7 seconds " name

echo $name

basename 基本語法

dirname 基本語法

基本語法

[ function ] funname[()]1

funname

使用函式的技巧

function sum()

就是檔案中負責剪下資料用的,從檔案的每一行剪下位元組,字元,和字段並輸出等等

基本用法

選項引數

功能-f

列號,提取第幾列

-d分隔符,按照指定分隔符分割列

這裡只是粗略的解釋

基本用法

選項引數 功能

命令功能描述

命令功能描述

a新增,a的後面可以接字串,在下一行顯示d刪除

s查詢並替換

基本用法

選項引數說明

選項引數

功能-f

指定輸入檔案折分隔符

-v賦值乙個使用者定義變數

awk 的內建變數

變數說明

filename

檔名nr

已讀的記錄數

nf瀏覽記錄的域的個數(切割後,列的個數)

基本語法

選項選項

說明-n

依照數值的大小排序

-r以相反的順序來排序

-t設定排序時所用的分隔字元

-k指定需要排序的列

Shell基礎筆記

shell是乙個命令列直譯器,它為使用者提供了乙個向linux核心傳送請求以便執行程式的介面 系統級程式,使用者可以用shell來啟動 掛起 停止甚至是編寫一些程式。shell的分類 bourne shell c shell 指令碼執行 賦予執行許可權,直接執行 chmod 755 hello.sh...

shell學習筆記1 基礎篇

使用者正常退出shell時,系統會將敲過的命令存入.bash history中。與history有莫大的關聯。1 表示執行上一條命令 2 n,n表示數字,表示執行history中第n條命令 3 可以進行模糊匹配,如 pass可以執行之前輸過的passwd命令 將複雜的命令賦值給乙個簡單的別名 1 a...

Linux筆記12 Shell基礎

histroy 歷史命令一般存放在 bash histroy檔案中,根據執行這個命令使用不同的引數,對此檔案的內容可以寫入或是清空。歷史命令缺省會儲存1000條,這個配置可以在環境變數 etc profile配置檔案中進行修改。tab鍵 按tab鍵進行命令或檔名補全。別名 alias,可以給乙個命令...