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

標準入力を受け付けながら処理を分岐するシェルの書き方

$
0
0

たまーに書くことがある標準入力を受け付けながら処理を分岐するシェルのサンプル。

こういうやつ

番号を入力したら入力された番号の処理を実行するってやつ。
以下のサンプルでは 1 って入力したら 1って処理を実行してる。
movie.gif

テンプレート

read で標準入力を受け付けて、 Swith文で分岐する、みたいな感じ。

#! /bin/bash##################################################### スクリプト名 : main.sh# 説明         : 指定された処理を実行するよ# 引数         : なし#   $1         : -# 実行例       : ./main.sh# 更新日       : YYYY/MM/DD# 作成者       : takiguchi-yu##################################################### 処理1 引数なしfunction _func1
{echo 
  echo-e"\033[0;32m[INFO]: \033[0;39m"処理1 開始します
  echo-e"\033[0;32m[INFO]: \033[0;39m"処理1 終了します
  echo}# 処理2 引数2つfunction _func2
{echo 
  echo-e"\033[0;32m[INFO]: \033[0;39m"一つ目の引数
  echo-e"\033[0;32m[INFO]: \033[0;39m"$1echo-e"\033[0;32m[INFO]: \033[0;39m"二つ目の引数
  echo-e"\033[0;32m[INFO]: \033[0;39m"$2exit 0
}# メイン処理while :
do
  echo"------------------------------------------------------"echo-e"\033[0;34m[1]: \033[0;39m"処理1 を実行します
  echo-e"\033[0;34m[2]: \033[0;39m"処理2 を実行します
  echo-e"\033[0;34m[3]: \033[0;39m"処理3 を実行します
  echo-e"\033[0;31m[q]: シェルを終了します\033[0;39m"echo"------------------------------------------------------"read-p"番号を選択してください: " num
  case"${num}"in"1") _func1 ;;"2") _func2 arg1 arg2 ;;"q")exit;;esacdone

Viewing all articles
Browse latest Browse all 2914

Trending Articles