Quantcast
Channel: Bashタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 2824

スクリプトファイル内の任意の関数を呼び出す方法

$
0
0
概要 数多くの関数が入ったスクリプトファイルにおいて スクリプトファイルを編集せずに特定の関数を呼び出す方法 スクリプトファイルの関数 例 以下の内容のA.shというスクリプトファイルがあるとすると A.sh funcA(){ echo "funcAを呼び出しました" } funcB(){ echo "funcBを呼び出しました" } ターミナル等で以下のコードで実行すると、関数は定義されただけなので何も起こりません $bash A.sh  実行したい関数名を改めてスクリプトファイル内に書く必要があります A.sh funcA(){ echo "funcAを呼び出しました" } funcB(){ echo "funcBを呼び出しました" } funcA funcB このように編集すると2つの関数が呼び出され、二文が表示されます スクリプトファイルを書き換えるのが面倒! これで関数は扱えるようになりましたが、毎回実行したい関数を書き換えるのは面倒です それを解決するのが今回の方法です 対処法 スクリプトファイルに引数を取らせて、その値に応じて呼び出す関数を変える処理を追加することです A.sh funcA(){ echo "funcAを呼び出しました" } funcB(){ echo "funcBを呼び出しました" } ##新しく追加する処理↓ #$1とは1つ目の引数という意味です if [ $1 = "a" ] then funcA elif [ $1 = "b" ] then funcB else echo "関数は呼び出されませんでした" fi 新しいA.shにおいて、関数を呼び出したい場合に実行するコードは $bash A.sh a funcAを呼び出しました $bash A.sh b funcBを呼び出しました このようになります まとめ 数多くの関数が入ったスクリプトファイルにおいて スクリプトファイルを編集せずに特定の関数を呼び出すには、、、 スクリプトファイルに引数を取らせて、その値に応じて呼び出す関数を変える処理を追加

Viewing all articles
Browse latest Browse all 2824

Latest Images

Trending Articles