bashで連番処理やxargsのメモ。
連番の表示
まずはbashのブレース展開
$ echo {0..10} 0 1 2 3 4 5 6 7 8 9 10
seqコマンド
$ seq 0 10 0 1 2 3 4 5 6 7 8 9 10
0埋め
bash v4以降だと下記で可能。bash v3以下は未対応
$ echo {01..10} 01 02 03 04 05 06 07 08 09 10
seqコマンド
$ seq -w 0 10 00 01 02 03 04 05 06 07 08 09 10
ループ処理
for i in {0..10} do echo $i done
for i in `seq 1 10` do echo $i done
xargsによる並列化
echo {0..10} | xargs -n 3 -P 2 echo
-nで一度に渡す引数の数を指定 -Pで並列で実行するプロセス数を指定
シェルの引数デフォルト値
引数が指定されていなかった場合のデフォルト値指定、2パターン。
env_name=dev if [ -n $1 ]; then env_name=$1 fi
env_name=${1:-dev}