bash3与bash4数组结构
生活随笔
收集整理的這篇文章主要介紹了
bash3与bash4数组结构
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
bash3.x不支持關聯數組(associative arrays)結構,只支持用數值作數組索引,如 declare -a Myarray Myarray[1]=”www.ttlsa.com” Myarray[2]=”39514058” bash4.x支持關聯數組結構,如 declare -A Myarray Myarray['website']=”www.ttlsa.com” Myarray['QQqun']=”39514058” 支持關聯數組結構,將大大方便定義變量,更好的寫出方便簡潔的代碼。簡單就是美。 我工作中看到一推if...elsif...else語句,十多個判斷,眼睛都看花了,修改起來也不方便。順便改了下: #!/bin/bash # ftpserver=("121.207.242:ftpserver1.backup.xx.com""121.207.240:ftpserver2.backup.xx.com""121.207.250:ftpserver3.backup.xx.com")function process_array() {declare -a hash=("${!1}")key="${2}"for ftpsrv in "${hash[@]}"; do# key: ${ftpsrv%%:*}# value: ${ftpsrv##*:}if [ $key = ${ftpsrv%%:*} ];thenftpserver=${ftpsrv#*:}echo $ftpserverfidone }ftp_s=$(process_array ftpserver[@] "121.207.250") echo $ftp_s 說明下,"121.207.242:ftpserver1.backup.xx.com",':'前面是key,后面是value,不同的IP段對應不同的ftp地址。沒有全部把if...elsif...else語句條件羅列到變量ftpserver。要添加更改相關信息,只需更改ftpserver變量即可。 如需轉載請注明出處: bash3與bash4數組結構?http://www.ttlsa.com/html/1925.html轉載于:https://my.oschina.net/766/blog/210990
總結
以上是生活随笔為你收集整理的bash3与bash4数组结构的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [TCP/IP] 计算机网络性能指标(计
- 下一篇: 掌中投是哪个证券公司