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