linux中位置参数变量 $?、$$、$!、$n、$*、$@、$#

1、简介

位置参数变量属于预定义变量的一种,变量名,变量的作用不能更改。

$?  最后一次执行的命令的返回状态。

    如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值为非0,证明上一个命令 执行不正确

$$  当前进程的进程号(PID)

$!   后台运行的最后一个进程的进程号(PID)

$n   $0代表命令本身,$1-$9代表第一到第九个参数,十以上的参数需要用大括号包含,如${10}

$*   这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体

$@   这个变量也代表命令行中所有的参数,不过$*把每个参数区分对待

$#  这个变量代表命令行中所有参数的个数,不算命令本身

2、举例

  $*    所有参数作为一个整体
  $@  每个参数都是单独的

vi aa.sh
#!/bin/bash

for i in "$*"
do
echo "The param is :$i"
done

x=1
for y in "$@"
do
echo "The param$x is: $y"
x=$(($x+1))
done
[root@localhost 11]# ./2.sh 1 2 3 4 5 6 7 8
The param is :1 2 3 4 5 6 7 8
The param1 is: 1
The param2 is: 2
The param3 is: 3
The param4 is: 4
The param5 is: 5
The param6 is: 6
The param7 is: 7
The param8 is: 8

 

posted @ 2019-07-09 08:06  雷雨客  阅读(147)  评论(0编辑  收藏  举报