一つのシェルスクリプトで複数のコマンドを作成する方法 †一つのシェルスクリプトファイルで複数のコマンドを作成する方法を以下に記します。 関連記事 †複数のコマンドを実現するサンプルシェルスクリプト †以下に1つのシェルスクリプトで複数のコマンドを実現するシェルスクリプトと手順および実行結果を記します。 サンプルスクリプト †以下の記すように、シェルスクリプト内に複数のfunctionを作成します。 #!/bin/bash #------------------------------ # hello #------------------------------ function hello { echo "hello" } #------------------------------ # konnichiwa #------------------------------ function konnichiwa { echo "konnichiwa" } #------------------------------ # bye #------------------------------ function bye { echo "bye" } #------------------------------ # sayonara #------------------------------ function sayonara { echo "sayonara" } cmd=$(basename $0) case $cmd in "hello") hello;; "konnichiwa") konnichiwa;; "bye") bye;; "sayonara") sayonara;; *) exit 0 esac シンボリックリンクをfunction名で張る †上記のfuncs.shに実行権限を与え、function名でシンボリックリンクを張ります。
実際に実行してみます †sakura@ubuntu:~$ ./hello hello sakura@ubuntu:~$ ./konnichiwa konnichiwa sakura@ubuntu:~$ ./bye bye sakura@ubuntu:~$ ./sayonara sayonara コマンド名=functionで動作していることが確認できました。 仕組みは簡単で、$0はファイル名になります。 以上、一つのシェルスクリプトのファイルで複数のコマンドを実現する実装方法でした。 |