GitHub
手順書の作業を実行するのが面倒なので作った
コマンド実行ツールの使い方
このツールは commands.txt ファイルに記述されたコマンドを順に実行します。コマンドとそれに関連する説明を#で区切って記述することができます。
commands.txt の記述例
echo 'コマンド 1'#コマンド1の説明 echo 'コマンド 2'# vi hoge.txt#viエディタでhoge.txtを開く
このツールを実行すると、各コマンドの説明が表示された後に、そのコマンドを実行するかどうかの確認メッセージが表示されます。確認メッセージに対して y または Y を入力すると、該当のコマンドが実行されます。
s または S を入力すると、そのコマンドはスキップされ、次のコマンドに進みます。それ以外を入力すると、ツールは終了します。
説明がない場合はコマンドの末尾に#のみつけてください。
execute.sh
# コマンドを格納する配列を初期化 commands=() # commands.txt ファイルを一行ずつ読み込み、その内容を配列 commands に追加 while IFS= read -r line; do commands+=("$line") done < commands.txt # 配列 commands の各要素(コマンド)について処理 for cmd in "${commands[@]}" do # 各コマンドから説明部分とコマンド部分を分離 cmd_part=${cmd%%#*} explanation_part=${cmd#*#} # 説明部分が存在すれば表示 if [ "$explanation_part" ]; then echo "※$explanation_part" fi # ユーザーに対しコマンドの実行確認メッセージを表示し、入力を待つ read -p "=====$cmd_part を実行しますか?(y/n/s)" -n 1 -r echo # 改行 if [[ $REPLY =~ ^[Yy]$ ]] # 'Y' または 'y' が入力された場合 then # コマンドを実行 echo "=====$cmd_part 実行" eval $cmd_part echo # 改行 elif [[ $REPLY =~ ^[Ss]$ ]] # 'S' または 's' が入力された場合 then # 何もせずに次へ true else # 上記以外の入力がされた場合、スクリプトを終了 echo "YySs以外が押された為、ツールを終了します" exit 1 fi done
commands.txt
echo 'コマンド1'# echo 'コマンド2'# vi hoge.txt#hogehogeな内容を記入し、fugafugaな内容が記載されていれば消してください。