変数にコマンドを割り当て実行するサンプルシェルスクリプトを紹介します。
使用したシェルはbashになります。
以下のようなサンプルスクリプトを作成しました。
引数にtrueを渡すとechoに渡した文字列が表示され、引数がfalseだと何も表示されないサンプルスクリプトです。
#!/bin/bash
function usage {
echo Usage: `basename $0` '<true|false>'
exit 1
}
if [ $# -ne 1 ]; then
usage
fi
case "$1" in
true)
ECHO=echo
;;
false)
ECHO=:
;;
*)
usage
;;
esac
$ECHO "Arguments were true."
exit 0
上記のシェルスクリプトを簡単に説明すると引数にtrueが指定されると以下の処理がされます。
ECHO=echo
引数がfalseの場合、以下の処理がされます。
ECHO=:
:はヌルコマンドといいます。 何も処理をせず、真を返却します。
実際に実行した結果です。
sakura@hpmini:~$ chmod +x echo.sh sakura@hpmini:~$ ./echo.sh true Arguments were true. sakura@hpmini:~$ ./echo.sh false sakura@hpmini:~$
以上、変数にコマンドを設定し操作する方法でした。