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
  • 相关阅读:
    法里数列
    母函数笔记
    贝尔数的指数母函数推导
    jQuery监听文本框值改变触发事件(propertychange)
    java-->TreeMap的使用
    查找-->二分查找和插值查找java实现
    查找-->斐波那契查找算法
    排序-->归并排序
    希尔排序(交换法和位移法)
    8皇后算法的简单实现(回溯)
  • 原文地址:https://www.cnblogs.com/kimbo/p/6362756.html
Copyright © 2011-2022 走看看