shell腳本之函數相關

   本節主要是作業和select 與case的相關

一、作業

1、斐波那契數列又稱黃金分割數列,因數學家列昂納多·斐波那契以兔子繁殖為例子而引入,故又稱為“兔子數列”,指的是這樣一個數列:01、1、2、35、813、2134、……,斐波納契數列以如下被以遞歸的方法定義:F0=0,F1=1Fn=F(n-1)+F(n-2)n2

寫一個函數,求n階斐波那契數列

圖片1.png

2、漢諾塔(又稱河內塔)問題是源于印度一個古老傳說。大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。并且規定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動一個圓盤。

利用函數,實現N片盤的漢諾塔的移動步驟

QQ截圖20160822130135.png

 

 二:select case

  select 循環與菜單

     select variable in list

          do

               循環體命令

          done

圖片2.png

  select 循環主要用于創建菜單,按數字順序排列的菜單項將顯示在標準錯誤上,并顯示PS3提示符,等待用戶輸入

圖片3.png

  用戶入菜單列表中的某個數字,執行相應的命令

  用戶輸入被保存在內置變量REPLY中。

圖片4.png

 

select 與case

  select 是個無限循環,因此要用break命令退出循環,或用exit命令終止腳本。也可以按ctrl+c退出循環

圖片5.png

  select經常和case聯合使用

圖片6.png

 與for 循環類似,可以省略in list ,此時使用位置參量

原創文章,作者:Dadi,如若轉載,請注明出處:http://www.www58058.com/38845

(0)
DadiDadi
上一篇 2016-08-22 09:41
下一篇 2016-08-22 13:37

相關推薦

  • mv命令總結

    mv命令是move的縮寫,可以用來移動文件或者將文件改名,是Linux系統下常用的命令,經常用來備份文件或者目錄。 命令格式:mv  源文件或目錄 目標文件或目錄 2.命令功能:視mv命令中第二個參數類型的不同(是目標文件還是目標目錄),mv命令將文件重命名或將其移至一個新的目錄中。當第二個參數類型是文件時,mv命令完成文件重命名,此時,源文件只能…

    2017-07-24
  • iptables練習

    iptables練習 一、COMMAND 1、列出所有鏈的規則:iptables -L ,顯示某條鏈的規則就是iptables -L INPUT 詳細信息:iptables -vnL 2、清楚所有鏈的規則 :iptables -F 3、設置默認規則策略:iptables -P INPUT DROP,iptables -P OUTPUT DROP , ipta…

    Linux干貨 2016-12-20
  • 編譯安裝dropbear和使用

    一、概念 Dropbear是一個相對較小的SSH服務器和客戶端。它運行在一個基于POSIX的各種平臺。 Dropbear是開源軟件,在麻省理工學院式的許可證。 Dropbear是特別有用的“嵌入”式的Linux(或其他Unix)系統,如無線路由器。 二、功能 dropbear實現完整的SSH客戶端和服務器版本2協議。它不支持SSH版本1 的向后兼容性,以節省…

    Linux干貨 2016-10-04
  • wk_02 作業

    Linux 文件管理命令 cp命令 功能 Linux 系統中cp命令是用來復制目錄/文件的。 概要 單源復制 cp [OPTION]… [-T] SOURCE DEST DEST不存在則事先創建此文件,并復制源文件的數據流至DEST中; DEST存在 DEST是非目錄文件:則覆蓋目標文件; DEST是目錄文件:則先…

    Linux干貨 2016-12-11
  • N28-第三周

    1. 列出當前系統上所有已經登入的用戶的用戶名,注意:同一個用戶登入多次,則只顯示一次即可。
    2. 取出最後登入到當前系統的用戶的相關信息。
    3. 取出當前系統上被用戶當做其默認shell的最多的那個shell。
    4. 將/etc/passwd中的第三個字段數值最大的後10個用戶的信息全部改為大寫後保存至/tmp/maxusers.txt文件中。
    5. 取出當前主機的IP地址,提示:對ifconfig命令的結果進行切分。
    6. 列出/etc目錄下所有以.conf結尾的文件的文件名,並將其名字轉換為大寫後保存至/tmp/etc.conf文件中。
    7. 顯示/var目錄下一級子目錄或文件的總各數。
    8. 取出/etc/group文件中第三個字段數值最小的10個組的名字。
    9. 將/etc/fstab和/etc/issue文件的內容合併為同一個內容後保存至/tmp/etc.test文件中。
    10. 請總結描述用戶和組管理類命令的使用方法並完成以下練習:
    (1) 創建組distro,其GID為2016。
    (2) 創建用戶mandriva,其ID號為1005,基本組為distro。
    (3) 創建用戶mageia,其ID號為1100,家目錄為/home/linux。
    (4) 給用戶mageia添加密碼,密碼為mageedu。
    (5) 刪除mandriva,但保留其家目錄。
    (6) 創建用戶slackware,其ID號為2002,基本組為distro,附加組peguin。
    (7) 修改slackware的默認shell為/bin/tcsh。
    (8) 為用戶slackware新增附加組admins。

    2017-12-19
  • WORD文檔格式要求與linux學習規劃

    WORD文檔格式要求 一、封面               1、活動名稱(隸書,小初號字,加粗)               2、主辦單位、策劃日期(宋體、3號字) 二、目錄    &nbs…

    Linux干貨 2013-06-20
欧美性久久久久