用于构建优雅命令行程序的工具推荐

大家好,又见面了,我是 GitHub 精选君!

今天要给大家推荐一个 GitHub 开源项目 charmbracelet/gum,该项目在 GitHub 有超过 12.0k Star,用一句话介绍该项目就是:“A tool for glamorous shell scripts 🎀”,用于构建优雅命令行程序的工具。

可能大家不太能理解优雅的命令行程序怎么样的,我们来看几个例子:

1、从命令获取输入,同时有好的交互

2、根据需要生成匹配格式的 commit 信息

以上是两个示例,而 gum 就是一个可以方便构建如上命令行程序的工具。在我的初步使用上了解到,gum 核心就是如何从命令行中获取输入,而输入的方式包括直接输入、选择输入、文件输入等,而程序可以利用输入进行特殊的执行逻辑,从而实现操作的自动化。

我们来多看几个示例,你就能更多的感受 gum 的强大之处了。

1、支持搜索过滤并将结果写入文件

2、确认按钮输入

3、支持文件夹浏览

而要实现以上任何示例都是比较的简单的,如果你喜欢使用命令行,gum 一定是一个你喜欢的工具。

如何安装使用

以下有很多安装 gum 的方式,大家可任选其一:

# macOS or Linux
brew install gum

# Arch Linux (btw)
pacman -S gum

# Nix
nix-env -iA nixpkgs.gum
# Or, with flakes
nix run "github:charmbracelet/gum" -- --help

# Debian/Ubuntu
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://repo.charm.sh/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/charm.gpg
echo "deb [signed-by=/etc/apt/keyrings/charm.gpg] https://repo.charm.sh/apt/ * *" | sudo tee /etc/apt/sources.list.d/charm.list
sudo apt update && sudo apt install gum

# Fedora/RHEL
echo '[charm]
name=Charm
baseurl=https://repo.charm.sh/yum/
enabled=1
gpgcheck=1
gpgkey=https://repo.charm.sh/yum/gpg.key' | sudo tee /etc/yum.repos.d/charm.repo
sudo yum install gum

# Alpine
apk add gum

# Android (via termux)
pkg install gum

# Windows (via Scoop)
scoop install charm-gum

gum 还支持很多的语法,更多项目详情请查看如下链接。

开源项目地址:https://github.com/charmbracelet/gum (文末可点击阅读原文)

开源项目作者:gum

关注我们,一起探索有意思的开源项目。


更多精彩请扫码关注如下公众号。

Written on February 6, 2023