![如何将一组脚本变成统一的cli工具](https://linux22.com/image/209571/%E5%A6%82%E4%BD%95%E5%B0%86%E4%B8%80%E7%BB%84%E8%84%9A%E6%9C%AC%E5%8F%98%E6%88%90%E7%BB%9F%E4%B8%80%E7%9A%84cli%E5%B7%A5%E5%85%B7.png)
假设我刚刚创建了 2 个 shell 脚本:
灰
#!/usr/bin/env bash
echo "hello world"
b.sh
#!/usr/bin/env bash
NAME="$#"
echo "hello, $NAME"
两者都位于同一目录中mycli
。
现在我想创建一个cli工具来以统一的方式调用这些脚本。结果应该是这样的:
$ mycli a # hello world
$ mycli b john # hello, john
实现这一目标的简单方法是什么?
我设法通过创建 amycli.sh
并将其添加到路径中来做到这一点,但解决方案似乎并不正确,并且转发参数是一场噩梦。特别是如果我想添加嵌套脚本(mycli x y z
,哪里z.sh
是位于 下的脚本mycli/x/y/z.sh
)。