逆引きシェルスクリプト/選択メニューを簡単に実現する
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
* 選択メニューを簡単に実現する・selectコマンド [#ea5716dd]
bashのビルドインで''select''コマンドがあります。~
この''select''を利用すると簡単に選択メニューを実現するこ...
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* selectを利用て選択メニューを作る [#we09d429]
以下、selectを利用したサンプルシェルスクリプトおよび実行...
尚、利用したディストリビューションはUbuntuです。~
シェルがbashであれば他のディストリビューションでも同様に...
** selectを利用したサンプルシェルスクリプト [#p58bf6c1]
以下のselectを用いたサンプルスクリプトを説明します。
#ref(select-1.sh)
1 #!/bin/bash
2
3 echo What linux distribution do you use?
4 ans1="Debian"
5 ans2="Ubuntu"
6 ans3="LinuxMint"
7 ans4="CentOS"
8 ans5="fedora"
9
10 select ANS in "$ans1" "$ans2" "$ans3" "$ans4" "$a...
11 do
12 if [ -z "$ANS" ]; then
13 continue
14 else
15 break
16 fi
17 done
18
19 echo You selected $REPLY\) $ANS
- 3行目 : メッセージの表示
- 4行目~8行目 : 選択肢の設定
-10行目 : selectで選択メニューを表示(select ... do ... do...
-12行目 : 範囲外の値を入力された場合、$ANSには何もセット...
-13行目 : doループの先頭に戻る
-14行目~16行目 : $ANSに選択した項目の文字列がセットされ...
-19行目 : 入力された文字が$REPLYにセットされ、$ANSには$an...
** 実行結果(select-01.sh) [#z293b50e]
sakura@ubuntu:~$ ./select-1.sh
What linux distribution do you use?
1) Debian
2) Ubuntu
3) LinuxMint
4) CentOS
5) fedora
#? 2
You selected 2) Ubuntu
範囲外の値を入力した場合
$ ./select-1.sh
What linux distribution do you use?
1) Debian
2) Ubuntu
3) LinuxMint
4) CentOS
5) fedora
#? 100
#?
上記の実行結果より、$REPLYには入力した文字(数字)が格納さ...
また、範囲外の値を入力した場合(上記では100を入力)は、再度...
* #?プロンプトの変更 [#b50204f1]
selectではPS3変数にプロンプトメッセージを設定することによ...
以下にselect-01.shを一部変更したサンプルシェルスクリプト...
#ref(select-2.sh)
1 #!/bin/bash
2
3 PS3="What linux distribution do you use? >"
4 ans1="Debian"
5 ans2="Ubuntu"
6 ans3="LinuxMint"
7 ans4="CentOS"
8 ans5="fedora"
9
10 select ANS in "$ans1" "$ans2" "$ans3" "$ans4" "$a...
11 do
12 if [ -z "$ANS" ]; then
13 continue
14 else
15 break
16 fi
17 done
18
19 echo You selected $REPLY\) $ANS
変更行は3行目だけです。~
echoで表示していたメッセージをPS3に設定するように変更しま...
** 実行結果(select-02.sh) [#bcbdeb18]
以下、範囲外を指定し、その後3) LinuxMintを選択したときの...
$ ./select-2.sh
1) Debian
2) Ubuntu
3) LinuxMint
4) CentOS
5) fedora
What linux distribution do you use? >100
What linux distribution do you use? >3
You selected 3) LinuxMint
PS3にメッセージを設定することにより選択一覧表示後、入力プ...
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
終了行:
#navi(../)
* 選択メニューを簡単に実現する・selectコマンド [#ea5716dd]
bashのビルドインで''select''コマンドがあります。~
この''select''を利用すると簡単に選択メニューを実現するこ...
#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)
* selectを利用て選択メニューを作る [#we09d429]
以下、selectを利用したサンプルシェルスクリプトおよび実行...
尚、利用したディストリビューションはUbuntuです。~
シェルがbashであれば他のディストリビューションでも同様に...
** selectを利用したサンプルシェルスクリプト [#p58bf6c1]
以下のselectを用いたサンプルスクリプトを説明します。
#ref(select-1.sh)
1 #!/bin/bash
2
3 echo What linux distribution do you use?
4 ans1="Debian"
5 ans2="Ubuntu"
6 ans3="LinuxMint"
7 ans4="CentOS"
8 ans5="fedora"
9
10 select ANS in "$ans1" "$ans2" "$ans3" "$ans4" "$a...
11 do
12 if [ -z "$ANS" ]; then
13 continue
14 else
15 break
16 fi
17 done
18
19 echo You selected $REPLY\) $ANS
- 3行目 : メッセージの表示
- 4行目~8行目 : 選択肢の設定
-10行目 : selectで選択メニューを表示(select ... do ... do...
-12行目 : 範囲外の値を入力された場合、$ANSには何もセット...
-13行目 : doループの先頭に戻る
-14行目~16行目 : $ANSに選択した項目の文字列がセットされ...
-19行目 : 入力された文字が$REPLYにセットされ、$ANSには$an...
** 実行結果(select-01.sh) [#z293b50e]
sakura@ubuntu:~$ ./select-1.sh
What linux distribution do you use?
1) Debian
2) Ubuntu
3) LinuxMint
4) CentOS
5) fedora
#? 2
You selected 2) Ubuntu
範囲外の値を入力した場合
$ ./select-1.sh
What linux distribution do you use?
1) Debian
2) Ubuntu
3) LinuxMint
4) CentOS
5) fedora
#? 100
#?
上記の実行結果より、$REPLYには入力した文字(数字)が格納さ...
また、範囲外の値を入力した場合(上記では100を入力)は、再度...
* #?プロンプトの変更 [#b50204f1]
selectではPS3変数にプロンプトメッセージを設定することによ...
以下にselect-01.shを一部変更したサンプルシェルスクリプト...
#ref(select-2.sh)
1 #!/bin/bash
2
3 PS3="What linux distribution do you use? >"
4 ans1="Debian"
5 ans2="Ubuntu"
6 ans3="LinuxMint"
7 ans4="CentOS"
8 ans5="fedora"
9
10 select ANS in "$ans1" "$ans2" "$ans3" "$ans4" "$a...
11 do
12 if [ -z "$ANS" ]; then
13 continue
14 else
15 break
16 fi
17 done
18
19 echo You selected $REPLY\) $ANS
変更行は3行目だけです。~
echoで表示していたメッセージをPS3に設定するように変更しま...
** 実行結果(select-02.sh) [#bcbdeb18]
以下、範囲外を指定し、その後3) LinuxMintを選択したときの...
$ ./select-2.sh
1) Debian
2) Ubuntu
3) LinuxMint
4) CentOS
5) fedora
What linux distribution do you use? >100
What linux distribution do you use? >3
You selected 3) LinuxMint
PS3にメッセージを設定することにより選択一覧表示後、入力プ...
#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)
ページ名: