- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- シェルスクリプト/文法/引数 へ行く。
- 1 (2007-07-01 (日) 01:21:04)
- 2 (2007-07-01 (日) 01:21:33)
- 3 (2010-06-06 (日) 04:35:20)
引数
位置パラメータ
$1から$9まで。
echo "$1"
引数の個数
if [ $# -lt 1 ]; then exit 1 fi
引数分だけループ
wile [ $# -gt 0 ]; do echo "$1" shift done
デフォルトでは引数1個シフトするが、下のようにすると2個シフトする。
shift 2
getoptsコマンドを使う
#!/bin/bash while getopts x:y:v opt; do # xとyとvの3つの引数を指定 case "$opt" in v) echo "V";; x) echo "X:" "$OPTARG" ;; # :付きの引数は$OPTARGにパラメータが入る y) echo "Y:" "$OPTARG" ;; \?) echo "Usage: $0 [-v] [-x foo] [-y bar]" 1>&2 exit 1;; esac done shift $((OPTIND-1)) # 指定外の引数がある場合、その位置が$OPTINDに入る if [ $# -ge 1 ]; then echo echo "$1" echo "$2" echo "$3" fi
実行例は以下。
$ ./1.sh -v -x 123 -y 456 A B C V X: 123 Y: 456 A B C