驚艷!Linux 中迷人的 Shell 腳本工具
如果您是 Linux 操作系統愛好者或正在將自己定義為一個愛好者,那么與 shell 腳本交叉路徑是完全不可避免的。根據定義,shell 腳本是設計用于在 Unix/Linux shell 環(huán)境中執(zhí)行的程序。
我們可以將命令行解釋器 ( shell ) 與諸如打印文本、程序執(zhí)行和文件操作等腳本操作相關聯。流行的 Unix/Linux shell 環(huán)境的示例包括 GNU Bourne-Again Shell、Bourne Shell、Korn Shell 和 C Shell。
在 Linux 操作系統環(huán)境中運行的 Shell 腳本具有.sh文件擴展名。考慮執(zhí)行以下 shell 腳本文件:
$ ./linuxmi.sh
在 Linux 中運行 Shell 腳本
上述 shell 腳本的執(zhí)行是非常簡單基本的。如果您介意 shell 腳本的外觀,那么本文適合您。它將引導我們完成安裝,使用Gum創(chuàng)建迷人的 shell 腳本。
Gum預先打包了即用型和高度可配置的實用程序,使 Linux 用戶能夠實現幾行代碼來成功地提出適用的 shell 腳本和點文件別名。
在 Linux 中安裝 Gum
在我們看到Gum工具能夠實現什么之前,我們需要將它安裝在我們的 Linux 操作系統發(fā)行版上。因為它不能在所有主要的 Linux 包管理器中訪問。
我們將使用 Homebrew 包管理器(可安裝在所有主要的 Linux 發(fā)行版上)。
安裝后,您可以使用Homebrew安裝 Gum 工具。
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
? brew install gum
在 Linux 中安裝 Gum或者,您可以使用以下命令在Debian/Ubuntu發(fā)行版上安裝Gum 。
$ echo 'deb [trusted=yes] https://repo.charm.sh/apt/ /' | sudo tee /etc/apt/sources.list.d/charm.list
$ sudo apt update && sudo apt install gum
在 Arch 和 Manjaro Linux 上,使用:
$ sudo pacman -S gum
Linux 中的 Gum 基本用法
幾個有用的命令與Gum相關聯:
從選項列表中選擇
以下命令可以從幾個列出的選項中選擇一個選項。
$ echo "在任意一張牌上取牌..." CARD=$(gum choose --height 15 {{A,K,Q,J},{10..2}}" "{?,?,?,?})
選擇列表
上面的命令執(zhí)行應該可以指出用戶的選擇。
輸入
使用以下命令,系統會提示用戶在終端上提供標準輸入:
$ gum input > linuxmi.txt
Shell 標準輸入
如果您需要敏感的輸入,請使用該--password標志。
$ gum input --password > linuxmi.txt
寫
以下命令提供多行輸入:
$ gum write > linuxmi.txt
Linux 多行輸入
篩選
可以通過模糊匹配過濾值列表。
$ echo red >> colors.txt
$ echo green >> colors.txt
$ echo blue >> colors.txt
$ cat colors.txt | gum filter > selector.txt
執(zhí)行上述命令將導致以下屏幕截圖顯示:
篩選值列表
我們可以通過鍵入關鍵字來過濾列表。
確認
可以在執(zhí)行之前確認用戶的操作。
$ gum confirm && rm new.txt || echo "無法定位文件"
確認用戶操作
spin
我們還可以在命令/腳本執(zhí)行時顯示spinner,同時通過sleep命令參數指定 spin 的持續(xù)時間。
$ gum spin --spinner dot --title "訪問Linux迷網站www.linuxmi.com ..." -- sleep 10
顯示 spinner
如果您要創(chuàng)建一個 shell 腳本,您的腳本文件應該有以下標題。
在 Linux 中創(chuàng)建 Shell 腳本
使腳本可執(zhí)行并運行它:
$ chmod +x linuxmi.sh
$ ./linuxmi.sh
在 Linux 中執(zhí)行腳本
更多gum使用參考可以在其用戶手冊中找到:
$ gum -h
要引用類似命令格式的用法,請運行:
$ gum format -h
這篇文章指南使您可以輕松地開始和創(chuàng)建迷人的 shell 腳本。