zoukankan      html  css  js  c++  java
  • shell中的特殊变量和函数传参

    shell中的特殊变量

      $? :上一个命令的执行状态返回值

      $#::参数的个数

      $*:参数列表,所有的变量作为一个字符串

      $@:参数列表,每个变量作为单个字符串

      $1-9,${10}:位置参数

      $$:脚本的进程号

      $_:之前命令的最后一个参数

      $0:脚本的名称

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

    那么问题来了,这些特殊的变量怎么传递到shell中定义函数中去呢?

       一个脚本说明问题

    [root@lamp tmp]# cat test.sh 
    #!/bin/sh
    
    func ()
    {
            echo "$1"
            echo "$2"
            echo "$#"
            echo "$*"
            echo "$@"
            echo "$?"
            echo "$0"
            echo "$$"
    }
    
    func $1
    
    echo ===== I am split line ========
    
            echo "$1"
            echo "$2"
            echo "$#"
            echo "$*"
            echo "$@"
            echo "$?"
            echo "$0"
            echo "$$"
    [root@lamp tmp]# sh test.sh argument1 argument2
    argument1
    
    1
    argument1
    argument1
    0
    test.sh
    3231
    ===== I am split line ========
    argument1
    argument2
    2
    argument1 argument2
    argument1 argument2
    0
    test.sh
    3231
    [root@lamp tmp]# 
  • 相关阅读:
    网页尺寸scrollHeight
    浏览器窗口可视区域大小
    创建文本节点createTextNode
    创建元素节点createElement
    faster rcnn需要理解的地方
    3d点云
    多维的vector定义和初始化
    写代码的可扩展性
    1111
    tmux命令
  • 原文地址:https://www.cnblogs.com/along1226/p/5003930.html
Copyright © 2011-2022 走看看