zoukankan      html  css  js  c++  java
  • Shell入门(五)之参数

    一、Shell 传递参数

      在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$nn 代表一个数字,0为执行文件名,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推

    比如: ./shellTest.sh 0  1 a b

     $0 : ./shellTest.sh,即命令本身,相当于c/c++中的argv[0]
     $1 : 0,第一个参数.
     $2 : 1
     $3, $4 ... :类推。
     $# :参数的个数,不包括命令本身,上例中$#为4.
     $@ :参数本身的列表,也不包括命令本身,如上例为0 1 a b
     $* :和$@相同,但"$*" 和 "$@"(加引号)并不同。

      "$*"将所有的参数解释成一个字符串,以"$1 $2 … $n"的形式输出所有参数;而"$@"是一个参数数组,以"$1" "$2" … "$n" 的形式输出所有参数。

    $$:脚本运行的当前进程ID号

    $!:后台运行的最后一个进程的ID号

    $-:显示Shell使用的当前选项,与set命令功能相同。

    $?:显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。

     

    二、实例

    #!/bin/bash
    echo "执行的文件名:$0";
    echo "第一个参数为:$1";
    echo "第二个参数为:$2";
    echo "第三个参数为:$3";
    echo "第四个参数为:$4";
    echo "$@为:"$@;
    echo "$*为:"$*;
    echo  "$@";
    echo  "$*";
    echo "$$当前进程ID号为:$$";
    echo "$!最后一个进程的ID号为:$!";
    echo "$?退出状态为:$?";

  • 相关阅读:
    Mysql(二)
    Mysql(一)
    JS图表插件(柱形图、饼状图、折线图)
    如何让Table中的第一列和第二列的值相乘然后赋值给第三列
    js生成验证码并验证
    IIS配置默认文档
    DropDownList如何添加一个空白的选项
    GridView如何合并同类项
    .NET后台如何获取前台HMTL控件的值
    Json数据报错
  • 原文地址:https://www.cnblogs.com/maokun/p/7420055.html
Copyright © 2011-2022 走看看