• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Shell特殊变量(Shell $#、$*、$@、$?、$$)的使用

    上节我们讲到了 $n,它是特殊变量的一种,用来接收位置参数。本节我们继续讲解剩下的几个特殊变量,它们分别是:$#、$*、$@、$?、$$。

    Shell 特殊变量及其含义

    变量 含义
    $0 当前脚本的文件名。
    $n(n≥1) 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是 $1,第二个参数是 $2。
    $# 传递给脚本或函数的参数个数。
    $* 传递给脚本或函数的所有参数。
    $@ 传递给脚本或函数的所有参数。当被双引号" "包含时,$@ 与 $* 稍有不同,我们将在《Shell $*和$@的区别》一节中详细讲解。
    $? 上个命令的退出状态,或函数的返回值,我们将在《Shell $?》一节中详细讲解。
    $$ 当前 Shell 进程 ID。对于 Shell 脚本,就是这些脚本所在的进程 ID。

    下面我们通过两个例子来演示。

    1) 给脚本文件传递参数
    编写下面的代码,并保存为 test.sh:

    #!/bin/bash
    echo "Process ID: $$"
    echo "File Name: $0"
    echo "First Parameter : $1"
    echo "Second Parameter : $2"
    echo "All parameters 1: $@"
    echo "All parameters 2: $*"
    echo "Total: $#"
    

    运行 test.sh,并附带参数:

    [mozhiyan@localhost demo]$ . ./test.sh Shell Linux
    Process ID: 5943
    File Name: bash
    First Parameter : Shell
    Second Parameter : Linux
    All parameters 1: Shell Linux
    All parameters 2: Shell Linux
    Total: 2

    2) 给函数传递参数

    编写下面的代码,并保存为 test.sh:

    #!/bin/bash
    #定义函数
    function func(){
      echo "Language: $1"
      echo "URL: $2"
      echo "First Parameter : $1"
      echo "Second Parameter : $2"
      echo "All parameters 1: $@"
      echo "All parameters 2: $*"
      echo "Total: $#"
    }
    #调用函数
    func Java http://c.biancheng.net/java/
    

    运行结果为:
    Language: Java
    URL: http://c.biancheng.net/java/
    First Parameter : Java
    Second Parameter : http://c.biancheng.net/java/
    All parameters 1: Java http://c.biancheng.net/java/
    All parameters 2: Java http://c.biancheng.net/java/
    Total: 2

    到此这篇关于Shell特殊变量(Shell $#、$*、$@、$?、$$)的使用的文章就介绍到这了,更多相关Shell特殊变量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    您可能感兴趣的文章:
    • Shell编程之特殊变量和扩展变量详解
    • Shell编程之特殊变量的笔记小结
    • Shell编程中的特殊变量之进程状态变量介绍
    • Shell编程中的特殊变量之位置变量介绍
    • PowerShell中的特殊变量$null介绍和创建多行注释小技巧
    上一篇:Shell PATH变量用法详解
    下一篇:Shell过滤器的具体使用
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Shell特殊变量(Shell $#、$*、$@、$?、$$)的使用 Shell,特殊,变量,的,使用,