標籤:linux shell bash while for array
論壇裡的一個兄弟要同時折騰兩個變數,不知道如何折騰. 後來瞭解到可以用數組
都忘記shell還有數組了.
寫了一個測試程式. 記錄一下. 以後也有個印象.
#!/bin/bashdeclare -a tmpfor i in $(find /bin -type f)do let c++ tmp[c]="$i"donelen="${#tmp[@]}" #array lengthc=200for i in $(find /usr/bin -type f)do let c++ tmp[c]="$i"donei=0while [ $i -le $len ]do let i+=1 echo "BIN:${tmp[i]}; USR:${tmp[i+200]}"done$ bash a.sh BIN:/bin/cp USR:/usr/bin/semodule_linkBIN:/bin/redhat_lsb_init USR:/usr/bin/gst-launchBIN:/bin/readlink USR:/usr/bin/opgprofBIN:/bin/unicode_start USR:/usr/bin/eu-stringsBIN:/bin/ps USR:/usr/bin/pango-querymodules-64BIN:/bin/lsblk USR:/usr/bin/wBIN:/bin/sleep USR:/usr/bin/smbta-utilBIN:/bin/setserial USR:/usr/bin/aserverBIN:/bin/unicode_stop USR:/usr/bin/patchBIN:/bin/cgget USR:/usr/bin/pdftopsBIN:/bin/nano USR:/usr/bin/lzmainfoBIN:/bin/cgdelete USR:/usr/bin/gstackBIN:/bin/ln USR:/usr/bin/rngtestBIN:/bin/mkdir USR:/usr/bin/nfs4_setfaclBIN:/bin/mknod USR:/usr/bin/vimtutorBIN:/bin/dumpkeys USR:/usr/bin/op-check-perfeventsBIN:/bin/ipcalc USR:/usr/bin/sedispolBIN:/bin/gzip USR:/usr/bin/reporter-mailxBIN:/bin/true USR:/usr/bin/tiff2pdfBIN:/bin/mv USR:/usr/bin/urlgrabberBIN:/bin/dbus-uuidgen USR:/usr/bin/grofferBIN:/bin/cgsnapshot USR:/usr/bin/smbcquotasBIN:/bin/env USR:/usr/bin/nfs4_getfaclBIN:/bin/arch USR:/usr/bin/repomanageBIN:/bin/echo USR:/usr/bin/eu-unstripBIN:/bin/touch USR:/usr/bin/.ssh.hmac
指令碼取第一次的結果長度為後面while的最大長度.
數組還可以直接
for i in ${array[@]}; do ... ; done
但要同時取兩個變數就不好折騰了.
另外數組還有分區, 替換等進階功能, 這個目前沒用到. 不寫了.
還是折騰python為主...
shell數組使用