bashで引数の配列の一つ後の要素を取り出す
即席で作ったシェルスクリプトのオプションの自前解析がしたくて。。
#!/bin/bash i=0 for OPT in "$@" do echo "index: $i OPT: $OPT OPTの一個後ろの要素 ${@:$(expr $i + 2):1}" # $i + 1 でないのは@の先頭は全要素を出力するため i=$(expr $i + 1) done
$ test.sh aa bbb c d index: 0 OPT: aa OPTの一個後ろの要素 bbb index: 1 OPT: bbb OPTの一個後ろの要素 c index: 2 OPT: c OPTの一個後ろの要素 d index: 3 OPT: d OPTの一個後ろの要素