微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

用户在 Bash 脚本中输入?

如何解决用户在 Bash 脚本中输入?

如何获得如下所示的用户输入,我想在我的 shell 脚本中使用它来构建案例条件?

./iwant2reload-worker.sh --target=cluster --cluster-name=abc
./iwant2reload-worker.sh --target=workernode --workernode-name=xyz

例如:如果用户发出第一个命令,它需要运行程序 a,如果用户发出第二个命令,它需要运行程序 b。

解决方法

#!/bin/bash

while [ "$1" != "" ]; do
    PARAM=`echo $1 | awk -F= '{print $1}'`
    VALUE=`echo $1 | awk -F= '{print $2}'`
    case $PARAM in
        --target)
            TARGET=$VALUE
            ;;

        --cluster-name)
            CLUSTER_NAME=$VALUE
            ;;

        --workernode-name)
            WORKNODE_NAME=$VALUE
            ;;

        *)
            echo "ERROR: unknown parameter \"$PARAM\""
            exit 1
            ;;
    esac
    shift
done

#==========================

 if [ ${TARGET} = "cluster" ]
    then
     echo "Run programm A for ${TARGET} & ${CLUSTER_NAME}"
 fi

 if [ ${TARGET} = "workernode" ]
    then
     echo "Run programm B for ${TARGET} & ${WORKNODE_NAME}"
 fi

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。