Shell中的特殊变量($0$#$*$@$$$!$?$1~$n)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell中的特殊变量($0$#$*$@$$$!$?$1~$n)相关的知识,希望对你有一定的参考价值。

在Shell中,$*和[email protected]分别代表如下含义:

$0 : 脚本自身的名称

$# : 位置参数的个数

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

[email protected] : 每个位置参数会被看做一个独立的字符串

$$ :  当前进程的PID

$! : Shell最后运行的后台进程的PID

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

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


示例:

#!/bin/bash

echo "The name of this shell script is: $0"

echo "First param is: $1"
echo "Second param is: $2"
echo "Third param is: $3"

echo "The total number of param is: $#"

for i in "$*";
do
     echo $i
done

for n in "[email protected]";
do
     echo $n
done

echo "The PID of current process: $$"

echo $!


测试结果:

[[email protected] ~]# bash var_1.sh a b c
The name of this shell script is: var_1.sh
First param is: a
Second param is: b
Third param is: c
The total number of param is: 3
a b c
a
b
c
The PID of current process: 20022

[[email protected] ~]# echo $?
0



$*和[email protected]的区别:


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

本文出自 “奔跑的蜗牛” 博客,请务必保留此出处http://441274636.blog.51cto.com/5054639/1890303

以上是关于Shell中的特殊变量($0$#$*$@$$$!$?$1~$n)的主要内容,如果未能解决你的问题,请参考以下文章

Shell中的特殊变量($0$#$*$@$$$!$?$1~$n)

026_关于shell中的特殊变量$0 $n $* $@ $! $?

Shell中的特殊变量

shell特殊位置变量

shell--特殊位置参数变量及常用内置变量

shell 中的特殊变量