温故知新 linux実践講座

温故知新 linux実践講座

温故知新。linuxを使いこなしてみよう。

ホーム » スクリプト入門 » シェルスクリプトで引数を使う

— 広告 —


— 広告 —

シェルスクリプトで引数を使う

所要時間 約 3分

先日、動画変換のシェルスクリプトを見た時に、シェルスクリプトに引数を渡して処理出来るようにするといいな。と思ってシェルスクリプトに引数の処理をさせる方法をgoogle で検索してみました。
 
引数を処理する という投稿を参考にシェルスクリプトの引数の使い方をお勉強しました。
 

変数名 自動的に設定される値
$# 実行時に指定された引数の数を表す変数。
$ ./test.sh AAA BBB CCC」と実行された場合、シェルスクリプト test.sh 内で変数 $# を参照するとその値は 3 となる。
$@ シェルスクリプト実行時、もしくは set コマンド実行時に指定された全パラメータが設定される変数。
変数 $* と基本的に同じだが、 "" で囲んだときの動作が異なる。
$* シェルスクリプト実行時、もしくは set コマンド実行時に指定された全パラメータが設定される変数。
変数 $@ と基本的に同じだが、 "" で囲んだときの動作が異なる。
$0 実行時のコマンド名が設定される変数。
./test.sh」と実行した場合には「./test.sh」が、「/home/user/test.sh」と実行した場合には「/home/user/test.sh」が設定される。
$1 ~ $n シェルスクリプト実行時に指定した引数の値がそれぞれ設定される変数。
1番目に指定した引数は $1 に、2番目に指定した引数は $2 に、n 番目に指定した引数は $n に設定される。10番目以降の引数参照時は ${10} のように「{}」を使用する必要がある。これは 「$10」 を 「$1 "0"」 のように、シェルに誤った解釈をされるのを防ぐためである。

 
シェルスクリプトで引数を使ってみる
  

#!/bin/sh
 
if [ $# -ne 2]; then
    echo "引数の数が違います" 1>&2
    exit 1
fi
 
# ヒアドキュメントを使って引数、メッセージを表示する
cat <<__EOT__
引数の数は
    $#
第1引数は
    $1
第2引数は
    $2
でした。
__EOT__
 
exit 0

シェルスクリプトで引数を使えるようになると、色々と便利ですね。
 
参考にさせていただいた 引数を処理するでは、getoptsコマンドを使ってオプション解析をする方法なども掲載されていて、勉強になりました。
 
参考URL

  1. 引数を処理する
-- 広告 -- -- 広告 --

 

この記事に関連する記事一覧

アフィリエイトで稼ぐ
プロフィール

ぴよふぁくとりぃです。

職業は自宅でサーバ管理、資格は薬剤師です。
趣味も職業もパソコンラブです。
よろしくね。
連絡先: admin@arakanoj.com
URL: http://piyofactory.com

検索
人気ページ
東京電力予想最大電力(万kW)
twitter
使い方を知れば知るほど楽しく使える Linux。
Linux の基本を覚えてもっともっと楽しいコンピュータの使い方を身につけましょう。