V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
stdout
V2EX  ›  Linux

推广一下自己写的快速 bash 脚本 fast_cmd

  •  
  •   stdout · 2020-12-15 12:51:27 +08:00 · 2726 次点击
    这是一个创建于 1437 天前的主题,其中的信息可能已经有所发展或是发生改变。
    https://github.com/Zeroman/fast_cmd
    快速开快捷脚本,少些 case

    快速编写命令,无需处理参数和文档,添加一个命令 test1

    cmd_test1() { # 11-> 测试 1
    echo "test1‘
    }
    执行如下命令都可以执行方法:
    ./run.sh 11
    ./run.sh test1
    ./run.sh t1
    ./run.sh 1
    learningman
        1
    learningman  
       2020-12-15 13:04:36 +08:00
    不是很明白这个干啥用。。。
    stdout
        2
    stdout  
    OP
       2020-12-15 13:17:04 +08:00
    https://github.com/Zeroman/fast_cmd_bash
    快速写脚本用的,少些 case
    wweir
        3
    wweir  
       2020-12-15 14:20:12 +08:00
    没啥用的东西,shell 的作用主要是快速调用其它程序,以及一层简单的胶水皮。
    当你想把它搞强大,封装出类库之类复杂的东西的使用,就已经失去了它的优势。

    要知道 shell,尤其是 bash 自身的 bug 、黑魔法可一点不少,怕不是没被坑够。
    真想写点稍复杂东西的时候,python 它不香么。
    Kasumi20
        4
    Kasumi20  
       2020-12-15 16:27:50 +08:00
    有点意思,帮顶
    stdout
        5
    stdout  
    OP
       2020-12-15 17:22:51 +08:00
    不是万能,小众使用,这些都是小工具。有很多情况 bash 比 python 好使
    python 版本的 https://github.com/Zeroman/fast_cmd_py
    aloxaf
        6
    aloxaf  
       2020-12-15 17:29:02 +08:00
    推广的第一步应该是写好 README……
    Sligcm
        7
    Sligcm  
       2020-12-15 17:41:46 +08:00
    demo 并没有看懂是怎么用的。。。能讲详细点么?
    eason1874
        8
    eason1874  
       2020-12-15 17:47:43 +08:00
    我也没看明白。如果要编写和使用 sh 了,那我直接把命令写到 sh 不行吗,为什么还要另外套一层?
    solider245
        9
    solider245  
       2020-12-15 18:00:59 +08:00
    能不能整点比较贴近生活的案例?
    stdout
        10
    stdout  
    OP
       2020-12-15 18:06:58 +08:00
    不要深究了,太感谢了。有需要的自然能用上。我自己的每个工程都有个 run.sh ,里面有很多命令组合,举个我自己的量化工程目录的脚本例子:
    这些命令经常要运行,参数又记不住,写个脚本简化这些方法。同时智能匹配参数和方法。有些命令天天敲参数都烦了。这个脚本文件的目的就是简化这些操作。

    ./run.sh
    backup_log -
    build_docker -
    build_image -
    build_vnpy -
    check_dns -
    env -
    help - Show all command.
    kill -
    log -
    log_all -
    mongo_export -
    open_sina -
    ps -
    python_learn_web -
    recreate(rc) - 重新创建镜像
    redis -
    restart -
    run_policys -
    run_prod -
    run_prod_show_log -
    run_python_in_docker -
    save_strategy_log -
    ssh_188 - 连接 188
    start_mongo - 启动 mongo
    stop_mongo -
    sync_pkl -
    omph
        11
    omph  
       2020-12-15 18:34:38 +08:00
    看了下 github 上的代码
    43: all_cmd=$(grep "^cmd_.*()" "$cur_path")

    大家应该可以猜出来了
    就是一个脚本里有很多 cmd_ 开头的函数,如何快速查看其列表,并通过函数名直接执行?
    Lemeng
        12
    Lemeng  
       2020-12-15 20:43:06 +08:00
    没太明白,不过还是支持一下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1854 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 16:24 · PVG 00:24 · LAX 08:24 · JFK 11:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.