linux shell$*,Shell特殊变量:Shell $#、$*、$@、$?、$$

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

Shell特殊变量及其含义

变量

含义

$0

当前脚本的文件名。

$n(n≥1)

传递给脚本或函数的参数。n是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。

$#

传递给脚本或函数的参数个数。

$*

传递给脚本或函数的所有参数。

$@

传递给脚本或函数的所有参数。当被双引号""包含时,$@ 与$*稍有不同,我们将在《Shell$*和$@的区别》一节中详细讲解。

$?

上个命令的退出状态,或函数的返回值,我们将在《Shell$?》一节中详细讲解。

$$

当前Shell进程ID。对于Shell脚本,就是这些脚本所在的进程ID。

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

1)给脚本文件传递参数

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

#!/bin/bashecho"ProcessID:$$"echo"FileName:$0"echo"FirstParameter:$1"echo"SecondParameter:$2"echo"Allparameters1:$@"echo"Allparameters2:$*"echo"Total:$#"

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

[mozhiyan@localhostdemo]$../test.shShellLinuxProcessID:5943FileName:bashFirstParameter:ShellSecondParameter:LinuxAllparameters1:ShellLinuxAllparameters2:ShellLinuxTotal:2

2)给函数传递参数

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

#!/bin/bash#定义函数functionfunc(){echo"Language:$1"echo"URL:$2"echo"FirstParameter:$1"echo"SecondParameter:$2"echo"Allparameters1:$@"echo"Allparameters2:$*"echo"Total:$#"}#调用函数funcJavahttp://c.biancheng.net/java/

运行结果为:

Language:Java

URL:http://c.biancheng.net/java/

FirstParameter:Java

SecondParameter:http://c.biancheng.net/java/

Allparameters1:Javahttp://c.biancheng.net/java/

Allparameters2:Javahttp://c.biancheng.net/java/

Total:2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值