主页 > 知识库 > Shell特殊变量(Shell $#、$*、$@、$?、$$)的使用

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

热门标签:电话机器人对家居行业帮助大吗 合肥电销外呼系统供应商 电商外呼系统排名 地图标注审核周期 AI智能电销机器人坏处 黑暗之魂3地图标注 兰州电销机器人加盟 如何申请400的电话呀 沈阳ai电销智能机器人

上节我们讲到了 $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特殊变量(Shell $#、$*、$@、$?、$$)的使用》,本文关键词  Shell,特殊,变量,的,使用,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《Shell特殊变量(Shell $#、$*、$@、$?、$$)的使用》相关的同类信息!
  • 本页收集关于Shell特殊变量(Shell $#、$*、$@、$?、$$)的使用的相关信息资讯供网民参考!
  • 推荐文章