zoukankan      html  css  js  c++  java
  • Shell 传递参数

    在执行Shell脚本是,可以向脚本传递参数。脚本内获取参数的格式为: $n ,n 是一个数字, 1 表示第一个参数,2 表示第二个参数,以此类推

    例子1:

    向脚本传递2个参数,并分别输出,其中 $0 表示执行的文件名

    #!/bin/bash
    
    echo "执行的文件名:$0";
    echo "第一个参数为:$1";
    echo "第二个参数为:$2";
    • 执行: sh kimbo_test.sh 20170201 eg
    • 结果:

    常用参数说明:

    $# : 传递脚本的参数个数

    $? : 显示上一个命令的状态。0表示成功,其他值表示失败

    $* :传递给脚本所有参数, 但当被双引号 ""包含时("$*"),会把所有的参数作为一个整体,以"$1 $2 … $n"的形式输出

    $@:传递给脚本所有参数, 但当被双引号 ""包含时,会将各个参数分开,以"$1" "$2" … "$n"的形式输出

    #!/bin/bash
    
    echo "常规模式$*"
    for i in $*
    do
    echo $i
    done
    
    echo "常规模式$@"
    for i in $@
    do
    echo $i
    done
    
    echo "<------ 带双引号,分割线 ------>"
    
    # "$*" 模式
    echo "双引号$*"
    for i in "$*"
    do
    echo $i
    done
    
    
    # "$@" 模式
    echo "双引号$@"
    for i in "$@"
    do
    echo $i
    done
    View Code

    执行脚本(传个3个参数): sh zss_test.sh p1 p2 p3

    结果如下:

    例子2: 校验参数个数

    #!/bin/bash
    
    if [ $# -ne 2 ];then
    echo "Please Enter two parameter,Try again."
    echo "example: 20170201 20170210"
    exit 1
    fi
    
    ## 打印输出
    echo "parameter is ok."
    -------> by kimbo_zhang
  • 相关阅读:
    http 301 和 302的区别
    移动端与PHP服务端接口通信流程设计(增强版)
    导出大量数据到excel表
    c#中两种不同的存储过程调用与比较
    sql存储过程几个简单例子
    高级搜索指令
    SEO 百度后台主动推送链接
    C#利用Web Service实现短信发送(转)
    webservice测试实例
    克服演讲紧张的10个技巧
  • 原文地址:https://www.cnblogs.com/kimbo/p/6362756.html
Copyright © 2011-2022 走看看