zoukankan      html  css  js  c++  java
  • Linux脚本中$#、$0、$1、$@、$*、$$、$?

    1.首先介绍一下这个几个参数的意义:

      $#:传入脚本的参数个数;

      $0:  脚本自身的名称;  

      $1:  传入脚本的第一个参数;

      $2:  传入脚本的第二个参数;

      $@: 传入脚本的所有参数;

      $*:传入脚本的所有参数;

      $$:  脚本执行的进程id;

      $?:  上一条命令执行后的状态,结果为0表示执行正常,结果为1表示执行异常;

        其中$@与$*正常情况下一样,当在脚本中将$*加上双引号作为“$*”引用时,此时将输入的所有参数当做一个整体字符串对待。比如输入参数有a b c三个参数,则“$*”表示“a b c”一个字符串。

    2.测试

      测试脚本test.sh

    #!/bin/bash
    echo "脚本名称: $0"
    echo "第一个参数: $1"
    echo "第二个参数: $2"
    echo "参数个数: $#"
    echo "输入的参数:$*"
    for key in $*
    do
        echo $key;
    done
    for key in "$*"
     do
        echo $key
    done
    
    echo "输入的参数:$@"
    for key in $@
     do
        echo $key;
    done
    for key in "$@"
     do
        echo $key;
    done
    echo "进程id: $$"
    echo "状态: $?"

    3.执行脚本

      sh test.sh a b

    脚本名称: test.sh
    第一个参数: a
    第二个参数: b
    参数个数: 2
    输入的参数:a b
    a
    b
    a b
    输入的参数:a b
    a
    b
    a
    b
    进程id: 8682
    状态: 0
  • 相关阅读:
    vue 客户端渲染和服务端渲染
    js 数组对象深拷贝
    vue template标签
    vue watch的高级用法
    js对象数组去重
    移动端触发touchend后阻止click事件
    重读JS(四)数据类型、作用域和内存问题
    重读JS(三)基本概念
    vue项目
    [vue问题解决]vue <router-link>在浏览器上点击失效(路由不跳转)
  • 原文地址:https://www.cnblogs.com/xzlive/p/12929834.html
Copyright © 2011-2022 走看看