溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Shell腳本編寫的示例分析

發(fā)布時(shí)間:2021-09-10 17:36:35 來源:億速云 閱讀:164 作者:柒染 欄目:大數(shù)據(jù)

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Shell腳本編寫的示例分析,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

1基礎(chǔ):

Shell 是一個(gè) C 語言編寫的腳本語言,是一個(gè)命令行界面;

它是用戶與 Linux 的橋梁,用戶輸入命令交給 Shell 處理, Shell 將相應(yīng)的操作傳遞給內(nèi)核(Kernel),內(nèi)核把處理的結(jié)果輸出給用戶。

bash是shell(語言)的一種

Shell腳本編寫的示例分析

  1. 第一行指定解釋器    #!/bin/bash 

  2. 在當(dāng)前終端生成一個(gè)子bash去執(zhí)行腳本(除了source)

  3. 腳本執(zhí)行方法

    1. bash test.sh           (/bin/sh 一般軟連接向/bin/bash;/bin/sh 相當(dāng)于 /bin/bash --posix,所以,sh跟bash的區(qū)別,實(shí)際上就是bash有沒有開啟posix模式的區(qū)別)

    2. ./                          (添加可執(zhí)行權(quán)限 chmod +x tesh.sh)

    3. source test.sh        (不生成子bash在當(dāng)前bash執(zhí)行)

1.1變量

1.1.1系統(tǒng)變量

Shell腳本編寫的示例分析

1.1.2普通變量和臨時(shí)環(huán)境變量

普通變量:var=value

臨時(shí)環(huán)境變量:export var=value

作用域:

普通變量:當(dāng)前shell

臨時(shí)環(huán)境變量:當(dāng)前shell和子shell    (bash)

環(huán)境變量文件:

系統(tǒng)級(jí)別:

/etc/profile:系統(tǒng)范圍內(nèi)的環(huán)境變量和啟動(dòng)文件

/etc/bashrc:系統(tǒng)范圍內(nèi)的函數(shù)和別名

1.1.3位置變量

$1 - $n 

  • 引號(hào)內(nèi)也可引用

  • shift 可吞噬一個(gè)變量,后面的變量前移

Shell腳本編寫的示例分析

運(yùn)行時(shí):

Shell腳本編寫的示例分析

1.1.4特殊變量

Shell腳本編寫的示例分析

1.1.5變量引用

變量引用:$+變量名        (特殊情況${變量})

在雙引號(hào)中可識(shí)別特殊字符,單引號(hào)中不能識(shí)別特殊字符保持原樣

1.2注釋

#

2 Shell字符串處理:${}

2.1獲取字符串長(zhǎng)度:${#var}

Shell腳本編寫的示例分析

2.2字符串切片:${var:start:length} 

Shell腳本編寫的示例分析

2.3替換字符串:${var/old/new}

Shell腳本編寫的示例分析

old前面:/——匹配第一個(gè)字符串;//——匹配所有字符

${VAR//[^0-9]/}:將VAR中所有非數(shù)字替換為空

2.4字符串截取

#    去掉左邊,最短匹配;##    最長(zhǎng)匹配

%    去掉右邊,最短匹配;%%    最長(zhǎng)匹配

*    匹配去掉的字符

Shell腳本編寫的示例分析

2.5變量狀態(tài)賦值

${VAR:-string}       如果 VAR 變量為空則返回 string

${VAR:+string}      如果 VAR 變量不為空則返回 string

${VAR:=string}      如果 VAR 變量為空則重新賦值 VAR 變量值為 string

${VAR:?string}       如果 VAR 變量為空則將 string 輸出到 stderr

Shell腳本編寫的示例分析

3 Shell表達(dá)式和運(yùn)算符

3.1條件表達(dá)式

Shell腳本編寫的示例分析

3.2整數(shù)比較符

Shell腳本編寫的示例分析

3.3字符串比較符

Shell腳本編寫的示例分析

Shell腳本編寫的示例分析

Shell腳本編寫的示例分析

&&:前面的為真執(zhí)行后面的

||:前面的為假執(zhí)行后面的

3.4文件測(cè)試

Shell腳本編寫的示例分析

Shell腳本編寫的示例分析

3.5布爾運(yùn)算符

Shell腳本編寫的示例分析

3.6邏輯判斷符

Shell腳本編寫的示例分析

3.7整數(shù)運(yùn)算

Shell腳本編寫的示例分析

$(()):三目運(yùn)算符:真——返回右邊;假——返回左邊

Shell腳本編寫的示例分析

3.8 Shell中括號(hào)的作用

Shell腳本編寫的示例分析

4 Shell流程控制

4.1 if

單分支:

if 條件; then
    命令
fi

Shell腳本編寫的示例分析

雙分支:

if 條件; then
    命令
else
    命令
fi

Shell腳本編寫的示例分析

多分支:

if 條件; then
    命令
elif 條件; then
else
    命令
fi

Shell腳本編寫的示例分析

4.2 for

for 變量名 in 取值列表; do
    命令
done

Shell腳本編寫的示例分析

4.3 while

while 條件; do
    命令
done

#逐行讀取文件內(nèi)容

Shell腳本編寫的示例分析

4.4 break和continue

break:終止循環(huán)

continue:跳出當(dāng)前循環(huán)

4.5 case

case 模式名 in
          模式1)
                 命令
                  ;;
          模式2)
                 命令
                  ;;
           *)
                 不符合上述時(shí)執(zhí)行命令
esac

Shell腳本編寫的示例分析

上述就是小編為大家分享的Shell腳本編寫的示例分析了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI