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 "$?退出状态为:$?";

  • 相关阅读:
    docker制作容器(待更新)
    docker 容器连接宿主机mysql问题
    发布linux应用程序(待更新)
    docker 常用命令 (日常更新)
    多线程还是多进程的选择及区别(转)
    关于C++ const 的全面总结《转》
    JS闭包详解
    JS基础——js动画
    JS基础——innerHTML、CSS-DOM
    JS基础——DOM(一)
  • 原文地址:https://www.cnblogs.com/maokun/p/7420055.html
Copyright © 2011-2022 走看看