尝试将参数保存为 bash 脚本中的变量

Trying to save an argument as a variable in bash script

我试图将“-ip”后的参数保存为 bash 脚本中的变量:

if [ $# == 0 ]; then
        ARGS=""
else
        for var in "$@"
        do
                ARGS="$ARGS $var"
                if [ $var == "-ip" ];   then
                        getopts ip: $IP
                fi
        done
fi

echo $IP

我从未在 bash 中尝试过 'getopts',正如您在上面看到的那样,我第一次尝试并失败了。

如有任何帮助,我们将不胜感激,

谢谢

您可以完全避免 getopts 并使用正则表达式获取它。

myvar=$(echo "$@" | sed 's/.*-ip\s\+\([0-9a-zA-Z\.]\+\)\s*.*//g')

将 -ip 之后的内容加载到 myvar 中。如果您只想要与 IP 匹配的东西,请相应地调整正则表达式。