shell脚本的参数传递一例

作者: My熊猫眼 | 来源:发表于2020-05-28 15:12 被阅读0次

在shell脚本中,我们也可以像其他编程语言一样处理传递的option以及对应的值,比如:
既支持 --name=<NAME>, 也支持 --name <NAME>, 那么如何才能做到呢?
看下面的例子:

[root@localhost ~]# cat test.sh
#!/bin/bash
name="Bingo"
while [ $# -gt 0 ];do
        case $1 in
        --name*)
                if [[ $1 == --name\=* ]];then  #如果option后面有等号,那么需要用#来截取变量$1获得对应的值,
                name=${1#--name=}
                else
                name=$2     #如果option后面没有等号,那么后面的参数,也就是$2必然是option对应的值,因为没有用等号进行连接,所以需要用shift 来对位置参数进行移位处理;
                shift   
                fi
                ;;
        *)
                args=$1
                ;;
        esac
        shift
done
echo Welcome.$name.$args
[root@localhost ~]# ./test.sh --name China
Welcome.China.
[root@localhost ~]# ./test.sh --name=China
Welcome.China.
[root@localhost ~]#

在这个例子中,通过判断传递的参数是否包含"=", 从而获取相应参数对应的参数值. 实现对传入参数以及参数值的获取。

这个使用技巧在系统中的很多shell脚本中都有体现,所以想提高shell 脚本的能力,多多阅读系统中的shell脚本吧,一定会有意外的收获哦。

本文原创,转载请注明出处。

相关文章

  • 工具 | Shell 教程笔记 (2)

    Shell 传递参数 在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n 其他用法: 参考 ...

  • shell(三)

    Shell 传递参数 我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一...

  • Shell 传递参数

    Shell 传递参数 我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n代表一个...

  • 学习Shell - 传递参数

    Shell传递参数 我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个...

  • shell传递参数

    Shell 传递参数 我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n代表一个...

  • Shell 传递参数

    Shell 传递参数我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个...

  • Shell 传递参数

    Shell传递参数 我们可以在执行Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n代表一个数字...

  • shell 传递参数

    shell 传递参数 我们可以在执行shell脚本时,向脚本传递参数,脚本内获取参数的格式为: $n,n代表一个数...

  • 每天学习一个shell技能 (3)

    每天学习一个shell技能 (3) shell参数传递 我们可以在脚本执行时,向脚本传递参数 打印结果: 打印结果:

  • Linux各种变量的含义

    # 是传给脚本的参数个数0 是脚本本身的名字1 是传递给该shell脚本的第一个参数2 是传递给该shell脚本的...

网友评论

    本文标题:shell脚本的参数传递一例

    本文链接:https://www.haomeiwen.com/subject/kpnoahtx.html