曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

shell腳本基礎(chǔ)知識(shí)匯總3

jf_78858299 ? 來(lái)源:阿Q正磚 ? 作者:阿Q正磚 ? 2023-02-15 10:49 ? 次閱讀

1.7 關(guān)聯(lián)數(shù)組

關(guān)聯(lián)數(shù)組定義

Bash 支持關(guān)聯(lián)數(shù)組,可以使用任意的字符串、或者整數(shù)作為下標(biāo)來(lái)訪問(wèn)數(shù)組元素。與其他語(yǔ)言中的map是類似的,它是無(wú)序的。

關(guān)聯(lián)數(shù)組使用 declare -A命令來(lái)聲明,語(yǔ)法格式如下:

declare -A map=(["key1"]="value1" ["key2"]="value2")

索引數(shù)組一樣,也支持指定key賦值,示例如下:

declare -A map=(["key1"]="value1" ["key2"]="value2")


declare -A map2
map2["key3"]="value3"


# 獲取指定key的值
echo ${map["key1"]}
# 獲取關(guān)聯(lián)數(shù)組的所有鍵
echo ${!map[*]}


echo ${map[*]}

獲取關(guān)聯(lián)數(shù)組長(zhǎng)度

同獲取字符串長(zhǎng)度一樣,也是通過(guò)${#variable_name}方式獲取,示例如下:

declare -A map=(["key1"]="value1" ["key2"]="value2")
#獲取關(guān)聯(lián)數(shù)組長(zhǎng)度
echo ${#map[*]}


# 輸出結(jié)果
2

獲取key與value

通過(guò)${map[key]}方式獲取指定key的值,通過(guò)${map[*]}獲取所有的值,通過(guò)${!map[*]}獲取所有的鍵,示例如下:

map=(["key1"]="value1" ["key2"]="value2")
# 獲取指定key的值
echo ${map["key1"]}
echo ${map[*]}
echo ${!map[*]}


# 輸出結(jié)果
value1
value2 value1
key2 key1

1.8 流程控制

If else

判斷某個(gè)條件成立或者不成立時(shí)要執(zhí)行的動(dòng)作,中間的elif 和else都是可選,格式如下:

if condition1; then
    command1 
elif condition2; then
    command2
else
    command3
fi

常見(jiàn)的判斷操作符如下:

文件/目錄 -f 文件是否存在
-d 目錄是否存在
-x 文件存在且可執(zhí)行
-r 文件存在且可讀
-w 文件存在且可寫(xiě)
字符串 -z 字符串為空
-n 字符串不為空
= 字符串相等
!= 字符串不相等
=~ 字符串包含
數(shù)字比較 -eq 相等
-ne 不相等
-lt 小于
-le 小于等于
-gt 大于
-ge 大于等于

if使用示例如下:

# 判斷文件是否存在
if [ -f ~/.bashrc ]; then 
    echo "~/.bashrc exist"
fi
# 判斷字符串是否為空
if [ -z $str ];then
    echo "str is empty"
else
    echo "str is not empty"
fi
# 數(shù)字大小判斷
if [ "$var" -eq 1 ];then
    echo "var equal 1"
elif [ "$var" -gt 4 ];then
    echo "var great than 4"
else
    echo "other case"
fi

for 循環(huán)

for循環(huán)格式如下,item列表值可以分別單獨(dú)寫(xiě)出來(lái),也可以是一個(gè)列表

for var in item1 item2 ... itemN
do
    command1
    command2
    ...
    commandN
done

代碼示例:

for loop in 1 2 3
do
    echo "The value is: $loop"
done
list=(a b c)
for var in ${list[*]}
do
    echo "var is $var"
done


# 輸出結(jié)果
The value is: 1
The value is: 2
The value is: 3
var is a
var is b
var is c

while

while condition
do
    command
done

代碼示例:

a=1
while (( $a<=3 ));do
    echo $a
    let a++
done


# 結(jié)合read可以實(shí)現(xiàn)常見(jiàn)的按行讀取文件內(nèi)容
echo "aa" > 1.text
echo "bb" >> 1.txt
while read line;do
    echo $line
done < 1.text


# 輸出結(jié)果
1
2
3
aa
bb

case ... esac

為多選擇語(yǔ)句,與其他語(yǔ)言中的 switch ... case 語(yǔ)句類似,是一種多分支選擇結(jié)構(gòu),每個(gè) case 分支用右圓括號(hào)開(kāi)始, 用兩個(gè)分號(hào) ** ;; ** 表示 break ,即執(zhí)行結(jié)束,跳出整個(gè) case ... esac 語(yǔ)句,esac(就是 case 反過(guò)來(lái))作為結(jié)束標(biāo)記。

可以用 case 語(yǔ)句匹配一個(gè)值與一個(gè)模式,如果匹配成功,執(zhí)行相匹配的命令。

語(yǔ)法格式如下:


casein
模式1)
    command1
    command2
    ;;
模式2)
    command1
    command2
    ;;
esac
echo -n "Enter the name of an animal: "
read ANIMAL
echo -n "The $ANIMAL has "
case $ANIMAL in
  horse | dog | cat) echo -n "four";;
  man | kangaroo ) echo -n "two";;
  *) echo -n "an unknown number of";;
esac
echo " legs."

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11432

    瀏覽量

    212473
  • 文本編輯器
    +關(guān)注

    關(guān)注

    0

    文章

    28

    瀏覽量

    8206
  • javascript
    +關(guān)注

    關(guān)注

    0

    文章

    525

    瀏覽量

    54401
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    371

    瀏覽量

    23859
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    shell腳本進(jìn)階】幾個(gè)常用的shell進(jìn)階腳本

    shell腳本進(jìn)階】幾個(gè)常用的shell進(jìn)階腳本
    的頭像 發(fā)表于 09-19 08:59 ?2145次閱讀
    【<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>進(jìn)階】幾個(gè)常用的<b class='flag-5'>shell</b>進(jìn)階<b class='flag-5'>腳本</b>

    Shell基礎(chǔ)知識(shí)(上)

    shell腳本在日常的Linux系統(tǒng)管理工作中是必不可少的。如果不會(huì)寫(xiě)shell腳本,你就不算是一個(gè)合格的管理員。目前,很多單位在招聘Linux系統(tǒng)管理員時(shí),
    發(fā)表于 11-14 09:24 ?611次閱讀

    基礎(chǔ)知識(shí)匯總?。。?/a>

    基礎(chǔ)知識(shí)匯總!
    發(fā)表于 11-07 18:14

    Shell腳本編程實(shí)驗(yàn)

    指示燈每隔一秒交替閃亮10次按照?qǐng)D中的腳本一字一句輸入就行了,其中Shell基礎(chǔ)知識(shí)一點(diǎn)都不清楚的話多百度下吧,上面有很多相關(guān)知識(shí)。這里我就腳本
    發(fā)表于 10-22 18:25

    嵌入式和物聯(lián)網(wǎng)的shell腳本學(xué)習(xí)指南之shell腳本入門(mén)免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)技術(shù)的是嵌入式和物聯(lián)網(wǎng)的shell腳本學(xué)習(xí)指南之shell腳本入門(mén)免費(fèi)下載。
    發(fā)表于 09-11 17:15 ?20次下載
    嵌入式和物聯(lián)網(wǎng)的<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>學(xué)習(xí)指南之<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>入門(mén)免費(fèi)下載

    shell腳本最簡(jiǎn)明的教程

    Shell腳本,就是利用Shell的命令解釋的功能,對(duì)一個(gè)純文本的文件進(jìn)行解析,然后執(zhí)行這些功能,也可以說(shuō)Shell腳本就是一系列命令的集合
    的頭像 發(fā)表于 10-16 11:27 ?5048次閱讀
    <b class='flag-5'>shell</b><b class='flag-5'>腳本</b>最簡(jiǎn)明的教程

    華為EMC基礎(chǔ)知識(shí)匯總資源下載

    華為EMC基礎(chǔ)知識(shí)匯總資源下載
    發(fā)表于 06-04 11:10 ?131次下載

    109個(gè)實(shí)用shell腳本分享

    Shell腳本,就是利用Shell的命令解釋的功能,對(duì)一個(gè)純文本的文件進(jìn)行解析,然后執(zhí)行這些功能,也可以說(shuō)Shell腳本就是一系列命令的集合
    的頭像 發(fā)表于 03-16 08:58 ?2833次閱讀

    Linux開(kāi)發(fā)_Makefile規(guī)則與Shell腳本語(yǔ)言

    介紹Linux下Makefile編程知識(shí)點(diǎn),Shell腳本知識(shí)點(diǎn)。
    的頭像 發(fā)表于 09-17 15:40 ?1528次閱讀

    shell腳本基礎(chǔ)知識(shí)匯總1

    Shell 編程跟 JavaScript、php 編程一樣,只要有一個(gè)能編寫(xiě)代碼的文本編輯器和一個(gè)能解釋執(zhí)行的腳本解釋器就可以了。 Linux 的 Shell 種類眾多,常見(jiàn)的有:
    的頭像 發(fā)表于 02-15 10:48 ?948次閱讀

    shell腳本基礎(chǔ)知識(shí)匯總2

    Shell 編程跟 JavaScript、php 編程一樣,只要有一個(gè)能編寫(xiě)代碼的文本編輯器和一個(gè)能解釋執(zhí)行的腳本解釋器就可以了。 Linux 的 Shell 種類眾多,常見(jiàn)的有:
    的頭像 發(fā)表于 02-15 10:48 ?786次閱讀

    shell腳本基礎(chǔ)知識(shí)匯總4

    Shell 編程跟 JavaScript、php 編程一樣,只要有一個(gè)能編寫(xiě)代碼的文本編輯器和一個(gè)能解釋執(zhí)行的腳本解釋器就可以了。 Linux 的 Shell 種類眾多,常見(jiàn)的有:
    的頭像 發(fā)表于 02-15 10:49 ?782次閱讀

    shell腳本基礎(chǔ)知識(shí)

    shell腳本是一個(gè)文件,里面存放的是特定格式的指令,系統(tǒng)可以使用腳本解析器翻譯或解析指令并執(zhí)行(無(wú)需編譯),shell腳本的本質(zhì)是
    的頭像 發(fā)表于 04-17 15:00 ?1266次閱讀

    Linux Shell腳本經(jīng)典案例分享

    ? 作為一名 Linux 運(yùn)維工程師,會(huì)寫(xiě)好的腳本不僅能提高工作效率,還能有更多的時(shí)間做自己的事。最近在網(wǎng)上沖浪的時(shí)候,發(fā)現(xiàn)大家對(duì)Shell腳本都有“心結(jié)”,要么覺(jué)得自己寫(xiě)出來(lái)不好看,要么根本無(wú)從下手。 下面分享249個(gè)真實(shí)
    發(fā)表于 06-16 14:03 ?760次閱讀
    Linux <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>經(jīng)典案例分享

    樹(shù)莓派新手必看!在樹(shù)莓派上編寫(xiě)和運(yùn)行 Shell 腳本

    在本教程中,我將討論Shell腳本基礎(chǔ)知識(shí)、它們的用途以及如何在RaspberryPi上編寫(xiě)和運(yùn)行Shell腳本。什么是
    的頭像 發(fā)表于 03-25 09:28 ?200次閱讀
    樹(shù)莓派新手必看!在樹(shù)莓派上編寫(xiě)和運(yùn)行 <b class='flag-5'>Shell</b> <b class='flag-5'>腳本</b>!