搜尋
首頁系統教程Linux如何使用是,否,在Linux中創建交互式bash腳本

交互式外殼腳本通過提供用戶友好,高效的任務管理來增強系統管理。本指南詳細介紹了在Linux中創建交互式bash腳本的詳細信息,並結合了“是”,“否”和“取消”提示,以確保用戶在執行前確認用戶確認,從而防止意外操作。

目錄

  • bash中的read命令
    • 功能
    • 優勢
    • 用法示例
    • read命令基礎知識
  • 使用是/否/取消提示
    • 示例1:Debian系統更新腳本
    • 示例2:刪除舊日誌文件
    • 示例3:在目錄之間複製文件
  • 結論

介紹

使用用戶輸入增強bash腳本可顯著改善其效用和用戶體驗。 read命令促進了這種交互性,促使用戶在變量中輸入和存儲響應。將read與條件語句(例如, ifcase )相結合,可以基於用戶輸入來啟用動態腳本行為。該教程涵蓋:

  • read命令的目的。
  • read捕獲用戶輸入。
  • 利用ifcase語句進行響應處理。
  • 交互式bash腳本的實際示例。

本指南使您創建交互式bash腳本,以促使用戶確認,允許他們繼續,流產或取消操作。

bash中的read命令

BASH的read命令讀取輸入行(從用戶或文件),並將其分配給一個或多個變量。這對於交互式外殼腳本和文本文件處理至關重要。

功能

read暫停腳本執行,等待用戶輸入,然後輸入輸入。輸入的文本存儲在指定的變量中。

優勢

  • 啟用交互式腳本。
  • 允許基於用戶輸入的自定義腳本行為。
  • 菜單和確認提示的理想選擇。

用法示例

  • 收集個性化消息的用戶名。
  • 執行措施之前,獲得是/否確認。
  • 使用可選擇的選項創建交互式菜單。

read命令基礎知識

1。語法:

閱讀[選項] variable_name

選項:

  • -r :防止後斜線解釋為逃生字符。示例: read -r response
  • -p :顯示一個提示消息(消除了對echo的需求)。示例: read -p "What's your name? " name
  • -s :隱藏用戶輸入(適用於密碼)。示例: read -s -p "Enter your password: " password
  • -t :設置輸入時間限制。
  • -n :限制接受為輸入的字符數。

2。閱讀用戶輸入:

read的主要用途是提示用戶在腳本執行期間輸入。

例子:

迴聲“請輸入您的名字:”
閱讀名稱
迴聲“你好,$ name!” 

如何使用是,否,在Linux中創建交互式bash腳本

3。使用提示:

-p選項簡化了提示顯示:

閱讀-p“你幾歲?”
迴聲“我年齡$年齡”。 

如何使用是,否,在Linux中創建交互式bash腳本

4。多個變量:

將多個輸入讀取到單行上的單獨變量:

迴聲“輸入您的名字和姓氏:”
讀取first_name last_name
迴聲“您好,$ first_name $ last_name!” 

如何使用是,否,在Linux中創建交互式bash腳本

5。默認值:

如果用戶未輸入輸入,則提供默認值:

閱讀-p“輸入您喜歡的博客[Ostechnix]:“博客
blog = $ {blog:-ostechnix}
迴聲“我最喜歡的博客是$博客。” 

如何使用是,否,在Linux中創建交互式bash腳本

6。時間限制:

-t設置輸入時間限制:

閱讀-t 5 -p“快速!輸入您的幸運號碼(5秒):“ Lucky_number
Echo“您的幸運號碼是$ Lucky_number” 

如何使用是,否,在Linux中創建交互式bash腳本

7。隱藏輸入(密碼):

使用-s用於敏感數據,例如密碼:

讀取-s -p“輸入密碼:”密碼
Echo#打印新線
迴聲“收到密碼(安全)”

示例read命令摘要提示系統更新確認(是/否/取消):

提示_for_input(){
    雖然是真的;做
        echo -n“更新系統?(y/n/c):”
        讀取-r響應
        案例“ $響應”
            [YY]*)迴聲“是選擇。”;返回0 ;;
            [nn]*)迴聲“沒有選擇。”;返回1 ;;
            [CC]*)迴聲“取消選擇”。返回2 ;;
            *)迴聲“無效輸入。”; ;
        ESAC
    完畢
}

使用是/否/取消提示

三個示例腳本說明了使用read和條件語句的交互式腳本創建。

示例1:Debian系統更新腳本

該腳本在更新基於Debian的系統之前提示確認。

(腳本代碼將在此處插入,類似於輸入,但有可能改善以清晰度和魯棒性)

示例2:刪除舊日誌文件

該腳本警告用戶並提示在刪除舊日誌文件之前進行確認。注意:在生產系統上使用它之前對此進行徹底測試。腳本應指定刪除的確切目錄和年齡閾值。

(腳本代碼將在此處插入,類似於輸入,但有可能改善以確保安全性,強調安全預防措施)

示例3:在目錄之間複製文件

該腳本在復製文件之前提示確認,並警告潛在的覆蓋。

(腳本代碼將在此處插入,類似於輸入,但有可能改善以清晰度和魯棒性,突出顯示文件覆蓋的注意事項)

結論

本教程演示了使用read命令”和“有條件語句進行決策”創建具有“是/否/取消提示的交互式bash”腳本。儘管存在其他方法, read提供了簡單性和有效性。在創建交互式腳本時,請記住要優先考慮用戶安全和數據完整性。

以上是如何使用是,否,在Linux中創建交互式bash腳本的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Linux的前3個開源虛擬數據室(VDR)Linux的前3個開源虛擬數據室(VDR)May 08, 2025 am 11:35 AM

虛擬數據室(VDRS)提供安全的文檔存儲和共享,非常適合敏感業務信息。 本文探討了三個開源VDR解決方案,用於Linux上的本地部署,從而消除了對基於雲的服務的需求

upscayl:linux的開源圖像升級工具upscayl:linux的開源圖像升級工具May 08, 2025 am 11:19 AM

UPSCAYL:您的免費和開源解決方案用於Linux上的高分辨率圖像 經常使用圖像的Linux用戶知道低分辨率圖片的挫敗感。 幸運的是,UpScayl提供了強大,免費和開源的解決方案。這個

Ghostty- linux的功能豐富的終端模擬器Ghostty- linux的功能豐富的終端模擬器May 08, 2025 am 11:14 AM

終端模擬器景觀正在迅速發展,開發人員利用現代硬件,GPU加速度,容器化甚至AI/LLM來增強控制台體驗。 輸入Ghostty,這是一種新的開源,跨平台終端模擬器

Innotop- MySQL的基於CLI的頂級監視器工具Innotop- MySQL的基於CLI的頂級監視器工具May 08, 2025 am 10:48 AM

Innotop:強大的MySQL監控命令行工具 Innotop是一款優秀的命令行程序,類似於top命令,用於監控在InnoDB引擎下運行的本地和遠程MySQL服務器。它提供了一套全面的功能和選項,幫助數據庫管理員(DBA)跟踪MySQL性能的各個方面,排除問題並優化服務器配置。 Innotop允許您監控關鍵的MySQL指標,例如: MySQL複製狀態 用戶統計信息 查詢列表 InnoDB緩衝池 InnoDB I/O統計信息 打開的表 鎖定的表 等等… 該工具定期刷新其數據,提供對服務器狀態的

如何使用RESTIC工具備份Linux數據如何使用RESTIC工具備份Linux數據May 08, 2025 am 10:34 AM

RESTIC:您的綜合保護Linux備份指南 數據丟失會削弱Linux系統。 意外刪除,硬件故障或系統損壞需要強大的備份策略。 Restic是領先的解決方案,提供速度,Securi

2024年最受歡迎的Linux發行2024年最受歡迎的Linux發行May 08, 2025 am 10:15 AM

2025年最受歡迎的十大Linux發行版 進入2025年,我們很高興與Linux愛好者分享今年迄今為止最受歡迎的發行版。 DistroWatch一直是關於開源操作系統的最可靠信息來源,尤其關注Linux發行版和BSD版本。它持續收集並呈現大量關於Linux發行版的信息,使它們更容易訪問。 雖然它不能很好地衡量發行版的流行度或使用率,但DistroWatch仍然是Linux社區內最被接受的流行度衡量標準。它使用頁麵點擊排名(簡稱PHR)統計數據來衡量Linux發行版在網站訪問者中的流行度。 [您可

2025年Linux的前15個平鋪窗戶經理2025年Linux的前15個平鋪窗戶經理May 08, 2025 am 10:08 AM

Linux窗口管理器:最佳瓷磚選項的綜合指南 Linux窗口管理人員協調應用程序窗口的行為方式,悄悄地管理開放程序的視覺佈置。 本文探索了頂級鋪平的窗戶男人

如何使用Linux中的SED動態替換數字如何使用Linux中的SED動態替換數字May 08, 2025 am 09:33 AM

Linux系統中的sed命令(流編輯器)是一款強大的文本處理工具,廣泛用於文本操作任務,包括搜索、查找和替換文本,甚至執行高級腳本編寫。 本文將指導您了解sed的基礎知識,解釋如何將其用於動態數字替換,並為初學者提供實用示例。 什麼是sed? sed命令逐行處理文本,允許您: 搜索特定模式。 替換文本或數字。 刪除或插入行。 以各種方式轉換文本。 它以非交互方式工作,這意味著它可以在無需人工干預的情況下處理文件或文本流。 sed命令的基本語法 sed [選項] '命令' 文件 說明: 選項

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器