跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 工作里写了很多 bash alias 和方法,有什么简易的方法可以把它们包装成命令行工具吗?
未分類
25 11 月 2020

工作里写了很多 bash alias 和方法,有什么简易的方法可以把它们包装成命令行工具吗?

工作里写了很多 bash alias 和方法,有什么简易的方法可以把它们包装成命令行工具吗?

資深大佬 : x97bgt 0

现在 alias 和方法越来越多,后面连名字都记不住了,导致每次都要先用 alias 或 declare -F 看一下,再能回忆起来。

现在想把这些东西整一整,把它们聚合到一起,搞个 CLI 工具出来,名字和参数都规范一下,还可以打印帮助信息。

直接用 bash 写太恶心了,所以想找一个快速简易的方法。大家有没有什么好的建议?

最好是修改后不需要编译的,这样容易维护,毕竟只是脚本工具。

大佬有話說 (23)

  • 資深大佬 : beryl

    那可能只能是 bash 是最优选择吧

  • 資深大佬 : dzdh

    你需要 go

  • 資深大佬 : 20498860

    我前几天也在问这个问题哈

    https://www.v2ex.com/t/727846

    linux 可以用 xterm.js ,windows 还没想到办法

  • 主 資深大佬 : x97bgt

    @dzdh go 是个不错的选择,但修改后都要编译,这个麻烦不?。

    关键是我对自己写的脚本没有信息,修修改改或加新功能是很经常的事。。。

  • 主 資深大佬 : x97bgt

    @20498860 看描述还是有点不一样。我只是想把这些 alias 和方法包装成 unix-like,感觉比你的需求容易一点。

    只是我想找一个取巧的方法。。。

  • 資深大佬 : zhuangzhuang1988

    换 powershell
    代码可读 可调试 有 ide 加成, 跨平台 功能强大

  • 資深大佬 : Tumblr

    换 pwsh 吧,写成 module,非常方便,还有很强的可移植性。
    @20498860 #3 你的这个需求,Windows 平台上明显转 PowerShell 啊( PowerShell 完全包含了 cmd 命令)。

  • 資深大佬 : loading

    不如做个男人( man )?

  • 資深大佬 : dzdh

    @x97bgt 修修改改很正常啊 建个 git jenkins 自动构建然后分发到所有机器没毛病啊

  • 資深大佬 : UN2758

    说起来我也是

  • 資深大佬 : liberty1900

    写好了发个 github repo, 我们就可以白嫖了

  • 資深大佬 : guxingke

    zsh

    ====
    $ alias | grep ^v

    vm=’vim ~/config/zsh-customs/plugins/me/me.plugin.zsh’
    vv=’vim ~/.vim/main.vim’
    vz=’vim ~/.zshrc’

    $ functions | grep ^j

    j () {
    j11 () {
    j12 () {
    j13 () {
    j15 () {
    j8 () {

    =====

    也许可以满足你的需求

  • 資深大佬 : fzinfz

    一些心得,供参考:
    0. alias/declare -F 统一用 type, 可以少打很多字
    1. 命名:比如 git_*
    2. 整合:不修改系统的 function 为可 run+source 的单个.sh ,并高亮+打印 raw cmd:my_eval(){ echo_color “[email protected]”; eval “[email protected]”; }
    3. alias/function 命名提示参数,或询问:[ -z “$1” ] && p=default || p=$1
    4. 复杂的命令组合,写个命令行生成器,比如: https://html.ferro.pro/docker.html

    参考我的 shell 大杂烩: https://github.com/fzinfz/scripts/tree/master/linux (目前还是太乱而且 bug 太多,轻喷)
    工作里写了很多 bash alias 和方法,有什么简易的方法可以把它们包装成命令行工具吗?

  • 資深大佬 : no1xsyzy

    我觉得需要一个 words prefix 的补全是最好了,最好支持 history 分析。
    就像 JB 家那样
    sudo apt install 可以 sai<tab> 或者 sudai<tab> 这样,前 N 分段各取长度至少为 1 的前缀
    说不定可以写一个……

  • 資深大佬 : no1xsyzy

    大概可以写一个类似 thefuck 那样的工具,不然嵌入 shell 有点困难……
    还是说 fish 有这种了?

  • 資深大佬 : fzinfz

    以上 3 例子举错了,更正:f() { [ -z “$1” ] && read -p “P1: ” p || p=$1; echo $p; } # 只适合少参数简单情况

  • 資深大佬 : xiaochun41

    似乎是需要一个好用的 shell 环境,比如 zsh + oh-my-zsh

  • 資深大佬 : wellsc

    放到 dotfiles 里不就好了

  • 資深大佬 : lamCJ

    我觉得如果只是个人用的一些小脚本的话没必要单独包装成命令行 一般单独发布的命令行都是比较通用的公用工具

    你就只用 `alias` 简化一些比较长的常用命令(可能带一坨参数)

    其他稍微复杂点的写成单独的可执行脚本 bash/go/python 都无所谓 放到统一的目录(`~/bin/`)配置到环境变量

    最后所有这些都放进 dotfiles 个人库 已经够方便维护和分发了吧 都是些脚本配置下就能自动统一工作环境

    命名讲究点应该不至于回忆不起干啥的

  • 資深大佬 : omph

    来,加个中间层
    [denisidoro/navi: An interactive cheatsheet tool for the command-line and application launchers]( https://github.com/denisidoro/navi)

  • 主 資深大佬 : x97bgt

    @omph 这个看着不错,研究一下

  • 主 資深大佬 : x97bgt

    @lamCJ
    @wellsc 命令多了杂了,连名字都记不住。这是最头疼得

  • 資深大佬 : jinhan13789991

    分目录和文件名存放,然后里面写好注释~

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具