MochiuWiki : SUSE, EC, PCB
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
検索
個人用ツール
ログイン
Toggle dark mode
名前空間
ページ
議論
表示
閲覧
ソースを閲覧
履歴を表示
シェルスクリプトの基礎 - select文のソースを表示
提供: MochiuWiki : SUSE, EC, PCB
←
シェルスクリプトの基礎 - select文
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます:
管理者
、new-group。
このページのソースの閲覧やコピーができます。
== 概要 == select文を使用すると、簡易的な対話型メニューが簡単に作成できる。(繰り返し文 + メニュー表示機能のような処理)<br> 実際には、メニューを表示して反復処理に入り、変数と分岐処理を使用して制御することが多い。<br> <br> なお、select文はbashで追加された制御文であり、shには対応していない。<br> <br><br> == select文の書式 == <source lang="sh"> <文字列変数>="<選択を促す文字列>" <配列変数>="<配列>" select <変数> in <配列変数> do <変数に応じた処理> done </source> <br><br> == select文のサンプル(1) == 以下の例では、変数STRINGに代入した内容が、select文のところで標準出力されている。<br> <source lang="bash"> #!/bin/bash STRING="Input number: " menu="apple orange banana finish" select var in ${menu} do echo "You selected ${var}" if [ ${var} = "finish" ]; then exit 1 fi done echo "Finish script." </source> <br> # 実行結果 1) apple 2) orange 3) banana 4) finish Input number: 1 You selected apple Input number: 2 You selected orange Input number: 3 You selected banana Input number: 4 You selected finish <br><br> == select文のサンプル(2) == 以下の例では、caseで処理を分岐およびコマンドを実行して、終了後にプロンプトを再表示するようにしている。<br> <br> 変数REPLYはselect文を使用する時に、内部で生成される特別な変数である。<br> この中には、ユーザが入力した値が代入される。(数字のほか文字列も表示される)<br> <source lang="bash"> #!/usr/bin/bash STRING="Input number: " menu="pwd ls exit" select VAR in ${menu} do # 反復処理の中でcase文を使用している case $VAR in "ls" ) ls -1 ;; "pwd" ) pwd ;; "exit" ) break ;; * ) echo "あなたの入力した番号は$REPLYです" esac done </source> <br> # 実行結果 1) pwd 2) ls 3) exit Input number: 1 /home/<ユーザ名>/SampleScripts Input number: 2 a.txt b.txt Input number: 4 あなたの入力した番号は4です Input number: 3 <br><br> __FORCETOC__ [[カテゴリ:シェルスクリプト]]
シェルスクリプトの基礎 - select文
に戻る。
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報
We ask for
Donations
Collapse