腳本練習——格式化硬盤

題目要求:

 

  寫一個腳本(前提:請爲虛擬機新增一塊硬盤,假設它爲/dev/sdb),爲指定的硬盤創建分區:

  1.   列出當前系統上所有的磁盤,讓用戶選擇,如果選擇q則退出腳本,如果用戶選擇錯誤,則讓用戶重新選擇

  2.   當用戶選擇後,提醒用戶確認接下來的操作可能會損壞數據,並請用戶確認,如果用戶選擇y就繼續,否則,讓用戶重新選擇:

  3.   抹除那塊硬盤上的所有分區(提示,抹除所有分區後執行sync命令,並讓腳本睡眠3s後再分區;併爲其創建三個主分區,第一個爲20M,第二個爲512M,第三個爲128M,且第三個爲swap分區類型;(提示將分區命令,echo給fdisk 即可實現)

題目分析:

  1.如何創建分區?(fdisk mke2fs -j mount掛載

  2.分析不同類型下的選擇:

     選擇正確

   其他選擇

  解決辦法: 運用until、for分類

 


第一次腳本執行結果:


wKiom1jH9znzeSOmAAEZkKm3wLw736.png


錯誤分析

  利用bash -x ./314.sh ,一步一步分析步驟,發現是在創建磁盤分區時,給定設備號後,遺漏了“回車”操作。

  還有就是,開始全局定義操作只用了 “CHOICE”,導致後面partprobe、mke2fs、fdisk仍沿用了上一個操作“Y|N”


解決方法

  將代碼:2

          +50M

 改成     2


          +50M

將前面選擇硬盤的過程所定義的變量 ‘CHOICE’,改爲‘DISK’。



最後附上糾正後,代碼執行結果:

wKioL1jH_OfjjHFCAAQ8o3EFdK4689.jpg

wKiom1jH-m-x5hw5AAD8eIMOPI8136.png




代碼附上:


wKioL1jH-nCxSbmSAACoBqAyf5g837.png


wKiom1jIBm3BqQr8AAC07KMbcN4866.png總結下今天的收穫:

 1:瞭解了創建一個磁盤分區的過程,也懂得了怎麼移除一個新建的分區

 2:熟悉了腳本執行中的邏輯關係

 3:加深了對until、for循環的認識

 4:學習了給vim編輯器內容顯示行號。——:setnumber










                   


  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章