スクリプトに値を渡せると汎用性が高まります。この記事ではコマンドライン引数の受け取り方と処理方法を解説します。
基本的な引数変数
| 変数 | 意味 |
|---|---|
| $0 | スクリプト名 |
| $1〜$9 | 第1〜9引数 |
| $# | 引数の個数 |
| $@ | 全引数のリスト |
#!/bin/bash
echo "スクリプト名: $0"
echo "第1引数: $1"
echo "引数の数: $#"
echo "全引数: $@"引数の数をチェックする
if [ $# -lt 2 ]; then
echo "使い方: $0 <名前> <年齢>"
exit 1
fi
name="$1"
echo "${name}さんこんにちは"全引数をループで処理する
for arg in "$@"; do
echo "引数: $arg"
donegetoptsでオプションを処理する
while getopts "vf:o:" opt; do
case $opt in
v) verbose=true ;;
f) input_file="$OPTARG" ;;
o) output="$OPTARG" ;;
*) echo "不明なオプション"; exit 1 ;;
esac
doneまとめ
$1〜で引数を受け取り、$#で個数を確認する$@でforループを使って全引数を処理できるgetoptsで-fや-vなどのオプション処理ができる- 引数不足時は使い方を表示して
exit 1で終了するのが作法



コメント