zoukankan      html  css  js  c++  java
  • shell script针对参数已经有配置好变量名称

    /path/to/scriptname  opt1  opt2  opt3  opt4 
           $0             $1    $2    $3    $4

    这样够清楚了吧?运行的脚本档名为 $0 这个变量,第一个接的参数就是 $1 啊~ 所以,只要我们在 script 里面善用 $1 的话,就可以很简单的立即下达某些命令功能了!除了这些数字的变量之外, 我们还有一些较为特殊的变量可以在 script 内使用来呼叫这些参数喔!

    • $# :代表后接的参数『个数』,以上表为例这里显示为『 4 』;
    • $@ :代表『 "$1" "$2" "$3" "$4" 』之意,每个变量是独立的(用双引号括起来);
    • $* :代表『 "$1c$2c$3c$4" 』,其中 c 为分隔字节,默认为空白键, 所以本例中代表『 "$1 $2 $3 $4" 』之意。

    那个 $@ 与 $* 基本上还是有所不同啦!不过,一般使用情况下可以直接记忆 $@ 即可! 好了,来做个例子吧~假设我要运行一个可以携带参数的 script ,运行该脚本后萤幕会显示如下的数据:

    • 程序的档名为何?
    • 共有几个参数?
    • 若参数的个数小於 2 则告知使用者参数数量太少
    • 全部的参数内容为何?
    • 第一个参数为何?
    • 第二个参数为何

    脚本名称 sh04.sh 

    #!/bin/bash
    # Program:
    #       Program shows the sripts name, parameters...
    # History:
    # 2015/9/6      zengdp  First release
    PATH=/bin:/sbin/:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
    export PATH
    
    echo "The script name is          ==> $0"
    echo "Total parameter number is   ==> $#"
    [ "$#" -lt 2 ] && acho "The number of parameter is less than 2. Stop here." && exit 0
    echo "You whole parameter is      ==>'$@'"
    echo "The 1st parameter           ==> $1"
    echo "The 2nd parameter           ==> $2"

    输入命令 sh sh04.sh the one haha quot 

    脚本运行后输出:

    The script name is          ==> sh06.sh
    Total parameter number is   ==> 4
    You whole parameter is      ==>'the one haha quot'
    The 1st parameter           ==> the
    The 2nd parameter           ==> one
  • 相关阅读:
    [Re] SpringMVC-5(Converter+拦截器+国际化+异常处理)
    [Re] SpringMVC-4(数据绑定+数据格式化+数据校验)
    [Re] SpringMVC-3(视图解析+RESTful CRUD)
    [Re] SpringMVC-2(数据输出+源码流程)
    常用SQL优化
    JAVA 中的标准注解
    linux第一发
    easyui js取消选中 Tree 指定节点
    axis1.4 服务端获取请求报文报文和客户端获取请求报文和响应报文
    对于两个实体类属性值的合并,java实现
  • 原文地址:https://www.cnblogs.com/jacson/p/4786474.html
Copyright © 2011-2022 走看看