您好,登錄后才能下訂單哦!
這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Shell腳本編寫的示例分析,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
Shell 是一個(gè) C 語言編寫的腳本語言,是一個(gè)命令行界面;
它是用戶與 Linux 的橋梁,用戶輸入命令交給 Shell 處理, Shell 將相應(yīng)的操作傳遞給內(nèi)核(Kernel),內(nèi)核把處理的結(jié)果輸出給用戶。
bash是shell(語言)的一種
第一行指定解釋器 #!/bin/bash
在當(dāng)前終端生成一個(gè)子bash去執(zhí)行腳本(除了source)
腳本執(zhí)行方法
bash test.sh (/bin/sh 一般軟連接向/bin/bash;/bin/sh 相當(dāng)于 /bin/bash --posix,所以,sh跟bash的區(qū)別,實(shí)際上就是bash有沒有開啟posix模式的區(qū)別)
./ (添加可執(zhí)行權(quán)限 chmod +x tesh.sh)
source test.sh (不生成子bash在當(dāng)前bash執(zhí)行)
普通變量: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 - $n
引號(hào)內(nèi)也可引用
shift 可吞噬一個(gè)變量,后面的變量前移
運(yùn)行時(shí):
變量引用:$+變量名 (特殊情況${變量})
在雙引號(hào)中可識(shí)別特殊字符,單引號(hào)中不能識(shí)別特殊字符保持原樣
#
old前面:/——匹配第一個(gè)字符串;//——匹配所有字符
${VAR//[^0-9]/}:將VAR中所有非數(shù)字替換為空
# 去掉左邊,最短匹配;## 最長(zhǎng)匹配
% 去掉右邊,最短匹配;%% 最長(zhǎng)匹配
* 匹配去掉的字符
${VAR:-string} 如果 VAR 變量為空則返回 string
${VAR:+string} 如果 VAR 變量不為空則返回 string
${VAR:=string} 如果 VAR 變量為空則重新賦值 VAR 變量值為 string
${VAR:?string} 如果 VAR 變量為空則將 string 輸出到 stderr
&&:前面的為真執(zhí)行后面的
||:前面的為假執(zhí)行后面的
$(()):三目運(yùn)算符:真——返回右邊;假——返回左邊
if 條件; then 命令 fi
if 條件; then 命令 else 命令 fi
if 條件; then 命令 elif 條件; then else 命令 fi
for 變量名 in 取值列表; do 命令 done
4.3 while
while 條件; do 命令 done
#逐行讀取文件內(nèi)容
break:終止循環(huán)
continue:跳出當(dāng)前循環(huán)
case 模式名 in 模式1) 命令 ;; 模式2) 命令 ;; *) 不符合上述時(shí)執(zhí)行命令 esac
上述就是小編為大家分享的Shell腳本編寫的示例分析了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(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)容。