単純なWebアプリケーションをデプロイするための基本的なbashスクリプトを作成しています。私の現在のコードは次のとおりです。
#!/bin/bash
clear
echo "********************************************";
echo "Hello, I'm going to deploy the QuizProject";
echo "********************************************";
git pull --all;
#Only need to execute if option is present
composer install;
echo "********************************************";
echo "All the jobs done! Cheers";
echo "********************************************";
現在私はコマンドでこのスクリプトを実行しています。
bash deploy.sh
しかし、これはbashファイルのすべてのコマンドを実行します。
特定のコマンドを渡すときにこれを実行してから、「composer install」を実行したいと思います。
bash -composer deploy.sh
ベストアンサー1
あなたの質問を理解してください。その機能を制御したい。たぶん、オプションを使って行うのが最善です。 1つの方法は次のとおりです。
#!/bin/bash
do_all=1
do_git=0
do_install=0
while getopts "gi" opt
do
case $opt in
(g) do_all=0 ; do_git=1 ;;
(i) do_all=0 ; do_install=1 ;;
(*) printf "Illegal option '-%s'\n" "$opt" && exit 1 ;;
esac
done
clear
echo "********************************************";
echo "Hello, I'm going to deploy the QuizProject";
echo "********************************************";
(( do_all || do_git )) && git pull --all;
(( do_all || do_install )) && composer install;
echo "********************************************";
echo "All the jobs done! Cheers";
echo "********************************************";
オプションなしでスクリプトを呼び出す場合:
bash deploy.sh
gitとinstallの両方が呼び出されます。オプション-i
(または関連)と一緒に呼び出すと、インストールのみ-g
が完了します(関連するgit呼び出し)。
bash deploy.sh -i
bash deploy.sh -g
次のいずれかの方法で2つのオプションを指定して2つの操作を実行することもできます。
bash deploy.sh -gi
bash deploy.sh -g -i