色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

shell腳本基礎知識匯總3

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

1.7 關聯數組

關聯數組定義

Bash 支持關聯數組,可以使用任意的字符串、或者整數作為下標來訪問數組元素。與其他語言中的map是類似的,它是無序的。

關聯數組使用 declare -A命令來聲明,語法格式如下:

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

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

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


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


# 獲取指定key的值
echo ${map["key1"]}
# 獲取關聯數組的所有鍵
echo ${!map[*]}


echo ${map[*]}

獲取關聯數組長度

同獲取字符串長度一樣,也是通過${#variable_name}方式獲取,示例如下:

declare -A map=(["key1"]="value1" ["key2"]="value2")
#獲取關聯數組長度
echo ${#map[*]}


# 輸出結果
2

獲取key與value

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

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


# 輸出結果
value1
value2 value1
key2 key1

1.8 流程控制

If else

判斷某個條件成立或者不成立時要執行的動作,中間的elif 和else都是可選,格式如下:

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

常見的判斷操作符如下:

文件/目錄 -f 文件是否存在
-d 目錄是否存在
-x 文件存在且可執行
-r 文件存在且可讀
-w 文件存在且可寫
字符串 -z 字符串為空
-n 字符串不為空
= 字符串相等
!= 字符串不相等
=~ 字符串包含
數字比較 -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
# 數字大小判斷
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 循環

for循環格式如下,item列表值可以分別單獨寫出來,也可以是一個列表

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


# 輸出結果
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


# 結合read可以實現常見的按行讀取文件內容
echo "aa" > 1.text
echo "bb" >> 1.txt
while read line;do
    echo $line
done < 1.text


# 輸出結果
1
2
3
aa
bb

case ... esac

為多選擇語句,與其他語言中的 switch ... case 語句類似,是一種多分支選擇結構,每個 case 分支用右圓括號開始, 用兩個分號 ** ;; ** 表示 break ,即執行結束,跳出整個 case ... esac 語句,esac(就是 case 反過來)作為結束標記。

可以用 case 語句匹配一個值與一個模式,如果匹配成功,執行相匹配的命令。

語法格式如下:


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."

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11339

    瀏覽量

    210120
  • 文本編輯器
    +關注

    關注

    0

    文章

    28

    瀏覽量

    8122
  • javascript
    +關注

    關注

    0

    文章

    523

    瀏覽量

    53908
  • Shell
    +關注

    關注

    1

    文章

    366

    瀏覽量

    23430
收藏 人收藏

    評論

    相關推薦

    shell腳本進階】幾個常用的shell進階腳本

    shell腳本進階】幾個常用的shell進階腳本
    的頭像 發表于 09-19 08:59 ?1943次閱讀
    【<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>進階】幾個常用的<b class='flag-5'>shell</b>進階<b class='flag-5'>腳本</b>

    Shell基礎知識(上)

    shell腳本在日常的Linux系統管理工作中是必不可少的。如果不會寫shell腳本,你就不算是一個合格的管理員。目前,很多單位在招聘Linux系統管理員時,
    發表于 11-14 09:24 ?549次閱讀

    基礎知識匯總!!!

    基礎知識匯總
    發表于 11-07 18:14

    Shell腳本編程實驗

    指示燈每隔一秒交替閃亮10次按照圖中的腳本一字一句輸入就行了,其中Shell基礎知識一點都不清楚的話多百度下吧,上面有很多相關知識。這里我就腳本
    發表于 10-22 18:25

    shell腳本最簡明的教程

    Shell腳本,就是利用Shell的命令解釋的功能,對一個純文本的文件進行解析,然后執行這些功能,也可以說Shell腳本就是一系列命令的集合
    的頭像 發表于 10-16 11:27 ?4871次閱讀
    <b class='flag-5'>shell</b><b class='flag-5'>腳本</b>最簡明的教程

    分散控制系統DCS基礎知識匯總文件下載

    分散控制系統DCS基礎知識匯總文件下載
    發表于 04-14 17:10 ?32次下載
    分散控制系統DCS<b class='flag-5'>基礎知識</b><b class='flag-5'>匯總</b>文件下載

    華為EMC基礎知識匯總資源下載

    華為EMC基礎知識匯總資源下載
    發表于 06-04 11:10 ?130次下載

    傳感器基礎知識及特性資源匯總下載

    傳感器基礎知識及特性資源匯總下載
    發表于 07-18 09:36 ?25次下載

    109個實用shell腳本分享

    Shell腳本,就是利用Shell的命令解釋的功能,對一個純文本的文件進行解析,然后執行這些功能,也可以說Shell腳本就是一系列命令的集合
    的頭像 發表于 03-16 08:58 ?2670次閱讀

    Linux開發_Makefile規則與Shell腳本語言

    介紹Linux下Makefile編程知識點,Shell腳本知識點。
    的頭像 發表于 09-17 15:40 ?1319次閱讀

    shell腳本基礎知識匯總1

    Shell 編程跟 JavaScript、php 編程一樣,只要有一個能編寫代碼的文本編輯器和一個能解釋執行的腳本解釋器就可以了。 Linux 的 Shell 種類眾多,常見的有:
    的頭像 發表于 02-15 10:48 ?822次閱讀

    shell腳本基礎知識匯總2

    Shell 編程跟 JavaScript、php 編程一樣,只要有一個能編寫代碼的文本編輯器和一個能解釋執行的腳本解釋器就可以了。 Linux 的 Shell 種類眾多,常見的有:
    的頭像 發表于 02-15 10:48 ?693次閱讀

    shell腳本基礎知識匯總4

    Shell 編程跟 JavaScript、php 編程一樣,只要有一個能編寫代碼的文本編輯器和一個能解釋執行的腳本解釋器就可以了。 Linux 的 Shell 種類眾多,常見的有:
    的頭像 發表于 02-15 10:49 ?691次閱讀

    shell腳本基礎知識

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

    Linux Shell腳本經典案例分享

    ? 作為一名 Linux 運維工程師,會寫好的腳本不僅能提高工作效率,還能有更多的時間做自己的事。最近在網上沖浪的時候,發現大家對Shell腳本都有“心結”,要么覺得自己寫出來不好看,要么根本無從下手。 下面分享249個真實
    發表于 06-16 14:03 ?667次閱讀
    Linux <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>經典案例分享
    主站蜘蛛池模板: 六月婷婷国产精品综合| 日日AV夜夜添久久奶无码| 精品久久久麻豆国产精品| 国产九色在线| 韩国女人高潮嗷嗷叫视频| 花蝴蝶在线高清视频观看免费播放| 黄小说免费看| 伦理 电影在线观看| 欧美人与禽ZOZO性伦交视频| 日日夜夜影院在线播放| 无限资源在线看影院免费观看 | xxx免费观看| 古风H啪肉NP文| 黑人强伦姧人妻日韩那庞大的| 久久久久国产精品嫩草影院| 蜜柚影院在线观看免费高清中文| 飘雪在线观看免费高清完整版韩国| 少女free大陆| 野花香在线观看免费观看大全动漫| 91伊人久久大香线蕉| 成人影片迅雷下载| 国内精品不卡一区二区三区| 芒果视频看片在线观看| 日韩一区二区三区视频在线观看| 亚洲精品乱码久久久久久直播| 最新亚洲中文字幕在线观看| 办公室里做好紧好爽H| 国产做国产爱免费视频| 蜜柚视频在线观看全集免费观看| 色综合久久88色综合天天提莫| 亚洲欧美在无码片一区二区| 99爱在线精品视频免费观看9| 国产99RE在线观看69热| 久久精品美女久久| 三级电影免费看| 在线播放国产视频| 大胸美女脱内衣黄网站| 京香在线观看| 日本午夜精品理论片A级APP发布| 亚洲日本欧美国产在线视| WWW色视频片内射|