交互式外殼腳本通過提供用戶友好,高效的任務管理來增強系統管理。本指南詳細介紹了在Linux中創建交互式bash腳本的詳細信息,並結合了“是”,“否”和“取消”提示,以確保用戶在執行前確認用戶確認,從而防止意外操作。
目錄
- bash中的
read
命令- 功能
- 優勢
- 用法示例
-
read
命令基礎知識
- 使用是/否/取消提示
- 示例1:Debian系統更新腳本
- 示例2:刪除舊日誌文件
- 示例3:在目錄之間複製文件
- 結論
介紹
使用用戶輸入增強bash腳本可顯著改善其效用和用戶體驗。 read
命令促進了這種交互性,促使用戶在變量中輸入和存儲響應。將read
與條件語句(例如, if
, case
)相結合,可以基於用戶輸入來啟用動態腳本行為。該教程涵蓋:
-
read
命令的目的。 - 用
read
捕獲用戶輸入。 - 利用
if
和case
語句進行響應處理。 - 交互式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!”
3。使用提示:
-p
選項簡化了提示顯示:
閱讀-p“你幾歲?” 迴聲“我年齡$年齡”。
4。多個變量:
將多個輸入讀取到單行上的單獨變量:
迴聲“輸入您的名字和姓氏:” 讀取first_name last_name 迴聲“您好,$ first_name $ last_name!”
5。默認值:
如果用戶未輸入輸入,則提供默認值:
閱讀-p“輸入您喜歡的博客[Ostechnix]:“博客 blog = $ {blog:-ostechnix} 迴聲“我最喜歡的博客是$博客。”
6。時間限制:
用-t
設置輸入時間限制:
閱讀-t 5 -p“快速!輸入您的幸運號碼(5秒):“ Lucky_number Echo“您的幸運號碼是$ Lucky_number”
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中文網其他相關文章!

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

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

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

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

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

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

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

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


熱AI工具

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

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

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

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

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

SublimeText3 Linux新版
SublimeText3 Linux最新版

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

Atom編輯器mac版下載
最受歡迎的的開源編輯器