V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Moris
V2EX  ›  Ubuntu

请教如何为 shell 脚本传入长参数?

  •  
  •   Moris · 2022-08-24 16:58:36 +08:00 · 1429 次点击
    这是一个创建于 820 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我有一个多功能脚本 test.sh

    我想实现输入./test.sh --help 时输出帮助内容

    输入./test.sh --install 时执行安装程序,

    请教一下,shell 脚本对应代码该如何实现?

    以下是我参考网上的教程写的代码,但是不能实现功能,也请教一下这些代码出现了什么问题,该如何解决?

    #!/bin/bash
    ARGS= `getopt -a -o ah --long install,help -- "$@"`
    if [ $? != 0 ]; then
        echo "Terminating..."
        exit 1
    fi
    eval set -- "${ARGS}"
    while true
    do 
    	case "$1" in
    		-i|--install)
    			./install.sh;;
    		-h|--help)
                ./help.sh;;
    		\?)
    			echo "no args"
    			exit 1;;
    	esac
    done
    
    1 条回复    2022-08-24 22:00:13 +08:00
    smallparking
        1
    smallparking  
       2022-08-24 22:00:13 +08:00 via Android
    https://bl.ocks.org/magnetikonline/22c1eb412daa350eeceee76c97519da8
    参考这个吧
    bash -x

    在脚本内 set -x 用于调试脚本
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3042 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:57 · PVG 20:57 · LAX 04:57 · JFK 07:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.