简述$n(n=0、 1、 2……)、 $#、 $*、 $@特殊变量的含义与用法

在Shell中$*和$@分别代表如下含义:

$0 : 腳本自身的名称

$# : 位置参数的个数

$* : 所有的位置参数都会被看成一个字符串

$@ : 每个位置参数会被看做一个独立的字符串

$?  :    返回上一次命令是否执行成功;0表示执行成功,非0表示执行失败

$1~$n : 添加到Shell的各参数值$1是第1参数、$2是第2参数…。

0

从测试结果中可以看出 $*是将所有的位置参数當做一个字符串输入;而$@则是将每个位置参数当做一个独立的字符串输出了

发布时间: 发布网站:脚本之家

收集整理的这篇文章主要介绍了小编觉得挺不错的,现在分享给大家也给大家做个参考。

$#传递给脚本或函数的参数个数

$?判断上个命令嘚执行成功与否0为成功

$@传递脚本或函数的所有参数

$*传递脚本或函数的所有参数

注:$@$*都是传递脚本或函数的所有参数被双引号" "包含時,两者有区别如下

如:当你要显示变量值加随意的字符时

以上是为你收集整理的全部内容希望文章能够帮你解决所遇到的程序开发问題。

如果觉得网站内容还不错欢迎将推荐给程序员好友。

本图文内容来源于网友网络收集整理提供作为学习参考使用,版权属于原作鍺
如您喜欢交流学习经验,
        $# 是传给脚本的参数个数
$0 是脚本本身的名字
$1 是传递给该shell脚本的第一个参数
$2 是传递给该shell脚本的第二个参数
$@ 是传给脚本的所有参数的列表
$* 是以一个单字符串显示所有向脚本传递嘚参数与位置不同,参数可超过9个
$$ 是脚本运行的当前进程ID号
$? 是显示最后命令的退出状态0表示没有错误,其他表示有错误
  • 相同点:都是引用所有参数
  • 不同点:只有在双引号中体现出来假设在脚本运行时写了三个参数(分别存储在$1 $2 $3)则"$*" 等价于 “$1 $2 $3"(传递了一个参数);而“$@" 等价于 "$1" "$2" "$3"(传递了三个参数)

 

 

 

 

我要回帖

更多关于 n7 的文章

 

随机推荐