欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Shell中select in的具體使用

 更新時(shí)間:2023年06月09日 11:17:25   作者:銀痕  
本文主要介紹了Shell中select in的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

select in 用法

select in循環(huán)用來(lái)增強(qiáng)交互性,它可以顯示出帶編號(hào)的菜單,用戶輸入不同的編號(hào)就可以選擇不同的菜單,并執(zhí)行不同的功能。
select in 是shell獨(dú)有的一種循環(huán),非常適合終端(Terminal)這樣的交互場(chǎng)景。這是其他語(yǔ)言所沒(méi)有的。

用法:

select variable in value_list        #variable表示變量,value_list表示取值列表
do
    statements
done

1.#?用來(lái)提示用戶輸入菜單編號(hào);^D表示按下Ctrl+D組合鍵,它的作用是結(jié)束select in循環(huán)
2.每次循環(huán)時(shí),selevt都會(huì)要求用戶輸入菜單編號(hào),并使用環(huán)境變量PS3的值作為提示符,PS3的默認(rèn)值為#?,修改PS3的值就可以修改提示符
3.如果用戶輸入的菜單編號(hào)不在范圍之內(nèi),那么就會(huì)給variable賦一個(gè)空值;如果用戶輸入一個(gè)空值,會(huì)重新顯示一遍菜單

例1.

vim test.sh
#!/bin/bash
#test the usage of 'select in'.
echo "What is your favourite OS? "
select name in "Linux" "Windows" "Mac OS" "Unix" "Android"     '//“ ”可以省略'
do
        echo $name
done             ##此處不會(huì)自動(dòng)跳出select in 循環(huán),需要按ctrl+D跳出select in
echo "You have selected $name"

運(yùn)行:

[root@server1 ~]# chmod u+x test.sh 
[root@server1 ~]# ./test.sh
What is your favourite OS? 
1) Linux
2) Windows
3) Mac OS
4) Unix
5) Android
#? 1
Linux
#?          '//按ctrl+D'
You have selected Linux

=======================================================

[root@server1 ~]# ./test.sh
What is your favourite OS? 
1) Linux
2) Windows
3) Mac OS
4) Unix
5) Android
#? 5
Android
#? 3
Mac OS
#? 2
Windows
#?      '//按ctrl+D'
You have selected Windows

select in 通常和 case in 搭配使用

例2:

#!/bin/bash
#"select in" is usually used with "case in" 
echo "What is your favourite OS? "
select name in "Linux" "Windows" "Mac OS" "Unix" "Android"
do
    case $name in
        "Linux")
          echo "Linux是一個(gè)類Unix操作系統(tǒng),它開(kāi)源免費(fèi)"
          break
          ;;
        "Windows")
          echo "Mac OS是微軟開(kāi)發(fā)的個(gè)人電腦操作系統(tǒng),它是閉源收費(fèi)的"
          break
          ;;
        "Mac OS")
          echo "Mac OS是蘋果公司開(kāi)發(fā)的一款圖形界面操作系統(tǒng)"
          break
          ;;
        "Unix")
          echo "Unix是操作系統(tǒng)的開(kāi)山鼻祖,現(xiàn)在只應(yīng)用在一些特殊場(chǎng)合"
          break
          ;;
        "Android")
          echo "Android是由Google開(kāi)發(fā)的手機(jī)操作系統(tǒng)"
          break
          ;;
        *)
          echo "沒(méi)有這個(gè)選項(xiàng)!"
          break
    esac
done

運(yùn)行:

[root@server1 ~]# ./test2.sh
What is your favourite OS? 
1) Linux
2) Windows
3) Mac OS
4) Unix
5) Android
#? 1
Linux是一個(gè)類Unix操作系統(tǒng),它開(kāi)源免費(fèi)

[root@server1 ~]# ./test2.sh
What is your favourite OS? 
1) Linux
2) Windows
3) Mac OS
4) Unix
5) Android
#? 2
Mac OS是微軟開(kāi)發(fā)的個(gè)人電腦操作系統(tǒng),它是閉源收費(fèi)的

[root@server1 ~]# ./test2.sh 
What is your favourite OS? 
1) Linux
2) Windows
3) Mac OS
4) Unix
5) Android
#? 5
Android是由Google開(kāi)發(fā)的手機(jī)操作系統(tǒng)

到此這篇關(guān)于Shell中select in的具體使用的文章就介紹到這了,更多相關(guān)Shell select in內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Shell 管道及執(zhí)行順序分析

    Shell 管道及執(zhí)行順序分析

    Shell 管道及執(zhí)行順序分析,需要的朋友可以參考下
    2013-01-01
  • linux系統(tǒng)上傳下載命令rz和sz的教程

    linux系統(tǒng)上傳下載命令rz和sz的教程

    這篇文章主要介紹了linux系統(tǒng)上傳下載命令rz和sz的安裝測(cè)試方法,需要的朋友可以參考下
    2018-01-01
  • Shell腳本實(shí)現(xiàn)自動(dòng)輸入密碼登錄服務(wù)器

    Shell腳本實(shí)現(xiàn)自動(dòng)輸入密碼登錄服務(wù)器

    這篇文章主要介紹了Shell腳本實(shí)現(xiàn)自動(dòng)輸入密碼登錄服務(wù)器,本文使用expect來(lái)實(shí)現(xiàn)這個(gè)需求,講解了expect的安裝及使用腳本,需要的朋友可以參考下
    2015-03-03
  • 一鍵備份gitolite服務(wù)器的Shell腳本

    一鍵備份gitolite服務(wù)器的Shell腳本

    這篇文章主要介紹了一鍵備份gitolite服務(wù)器的Shell腳本,需要的朋友可以參考下
    2014-09-09
  • 監(jiān)控服務(wù)器swap并重啟php的Shell腳本

    監(jiān)控服務(wù)器swap并重啟php的Shell腳本

    有一臺(tái)服務(wù)器老是交換扇區(qū)占滿然后失去響應(yīng),很煩,因?yàn)榧虞d了以前別人寫的一個(gè)php擴(kuò)展,效率低,資源占用大,悲劇的是現(xiàn)在還沒(méi)有可以替換的東西
    2014-03-03
  • linux whatis與whatis database 使用及查詢方法(man使用實(shí)例)

    linux whatis與whatis database 使用及查詢方法(man使用實(shí)例)

    在學(xué)習(xí)man命令時(shí)候,估計(jì)很多朋友都發(fā)現(xiàn)有man –f ,man –k 參數(shù),可以查出很多數(shù)據(jù)。這些有的與man手冊(cè)頁(yè)相同,有些不是屬于手冊(cè)頁(yè)的。它們數(shù)據(jù)怎么收集來(lái)的,并且whatis是怎么樣工作的
    2015-10-10
  • 如何解決 shell 腳本重復(fù)執(zhí)行的問(wèn)題

    如何解決 shell 腳本重復(fù)執(zhí)行的問(wèn)題

    假如執(zhí)行備份腳本消耗的時(shí)間遠(yuǎn)大于設(shè)置的備份間隔的話,系統(tǒng)會(huì)出現(xiàn)多個(gè)同時(shí)在執(zhí)行腳本的Bash實(shí)例,會(huì)占用大量的系統(tǒng)資源,進(jìn)而影響正常業(yè)務(wù)程序的運(yùn)行,那如何解決上述shell腳本重復(fù)執(zhí)行的問(wèn)題呢,本文將要介紹的 flock 命令可以解決這個(gè)問(wèn)題
    2021-05-05
  • Linux?screen命令使用示例

    Linux?screen命令使用示例

    Screen是一個(gè)全屏窗口管理器,它在多個(gè)進(jìn)程(通常是交互式shell)之間多路傳輸物理終端。每個(gè)虛擬終端提供DEC?VT100終端的功能,以及ANSI?X3的幾個(gè)控制功能,本文給大家分享Linux?screen命令使用示例,感興趣的朋友一起看看吧
    2023-03-03
  • Linux下科學(xué)計(jì)數(shù)法(e)轉(zhuǎn)化為數(shù)字的方法

    Linux下科學(xué)計(jì)數(shù)法(e)轉(zhuǎn)化為數(shù)字的方法

    這篇文章主要介紹了Linux下科學(xué)計(jì)數(shù)法(e)轉(zhuǎn)化為數(shù)字的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • shell腳本兩個(gè)文件關(guān)鍵行合并方式

    shell腳本兩個(gè)文件關(guān)鍵行合并方式

    這篇文章主要介紹了shell腳本兩個(gè)文件關(guān)鍵行合并方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05

最新評(píng)論