シェルスクリプト select メニューを作る スクリプトの書き方

バイオインフォ道場、くまぞうです。

select文を使うと、簡単にメニューを作成することができます。但し、Bシェルでは使えず bash を使います。リストでメニュー項目を準備します。select内の変数で、選ばれた項目や入力値を取得することができます。メニュープロンプトは、PS3に準備します(デフォルトは、#?)。

スポンサーリンク



select文 の書き方

select selection in リスト
do
  $selection や $REPLY を使った処理
done

select文 の使い方

簡単な例で「select文」を使ってみましょう。
例1.メニューを作る

#! /bin/bash

# ↑シバンで bash を指定して下さい

PS3="select menu > "
ITEM_LIST="item1 item2 item3"

select selection in $ITEM_LIST
do
  if [ $selection ]; then
    echo "your select is ${selection}"
    echo "your input  is ${REPLY}"
    break
  else
    echo "invalid selection."
  fi
done
1) item1
2) item2
3) item3
select menu > 2

your select is item2
your input  is 2

ポイント

  • select – リスト – do – done が基本構成です。
  • PS3 にプロンプトメッセージを設定します。
  • select内変数(例では$selection)で選択に対応する項目を取得します。
  • $REPLYで入力値を取得します。
  • Ctrl+Dでメニューを終了できます。
スポンサーリンク





ピックアップ記事

  1. R 使い方 グラフの色 自作のカラーパレットとデフォルトのカラーパレット

    グラフを描画する際、色の組み合わせを1つ1つ考えるのは面倒ですよね。Rには、あらかじめ色の組み合わ…
  2. R subset関数 データフレームやmatrixからの条件指定による行・列の抽出

    R の subset関数は、データフレームやマトリックスから条件にマッチした部分集合を取り出します…
  3. tidyverse – distinct関数でデータフレームの重複行を削除 dplyrパッケージ

    tidyverseでデータフレームの重複行の削除を行う場合、dplyrパッケージのdistinct…

人気記事

  1. R データ型 - 文字列・ベクター・データフレーム・マトリックス など-, R言語, スクリプト

    R subset関数 データフレームやmatrixからの条件指定による行・列の抽出
    R の subset関数は、データフレームやマトリックスか…
  2. Excel, その他, 統計

    z-score 計算方法 エクセル(Excel) 編
    統計処理で、大きく変化しているなどの判断基準にも使われる値…
  3. IGV, 解析ツール

    IGV 使い方 インストール〜便利な使い方まで | リファレンス・マッピングデータ・アノテーションを読み込んで表示しよう
    IGV(Integrative Genomics View…

おすすめ記事

  1. R言語, グラフ

    R 使い方 軸・ラベルの調整(向き・サイズ・色など) グラフの描き方
    Rによるplot(グラフ)の描画は、手軽で大変便利です。た…
  2. bash 応用, シェルスクリプト

    シェル スクリプト ファイル存在チェック・空のファイルチェック
    bashでスクリプトを作成するときに、よく使うのがファイル…
  3. awk, bash 文字列操作, シェルスクリプト

    bash 部分文字列・置換・長さ・連結・分割の文字列処理
    bashのよく使う文字列処理、部分文字列・置換・連結・長さ…