Linux 特殊变量使用

变量简介

$?  表示上一个命令退出的状态码  

$$  表示当前进程编号

$0 表示当前脚本名称

$n 表示n位置的输入参数(n代表数字,n>=1)

$# 表示参数的个数,常用于循环

$*和$@ 都表示参数列表 

变量展示:

   例一

     定义一个脚本

#!/bin/bash
echo '$$:查看进程号'
echo $$

echo '$?:返回上个进程执行的状态,0为正确,正数是错误'
echo $?

echo '$0:返回脚本的名称'
echo $0

echo '$n #查看脚本参数'
echo $n

echo '$# #参数个数'
echo $#

echo '$* #所有的参数'
echo $*

echo '$@ #所有的参数'
echo $@

执行结果

   例二   

#!/bin/bash
echo "test var"
echo $$
echo $0
echo $1
echo $2
echo $#
echo $*
echo $@
echo $?

执行结果

注意:

echo $1 与 echo10

当脚本中存在 echo $1  echo$10 这两个参数的时候

当第一个参数(echo $1)传入aa的时候,echo $10输出会变成 aa0 等于$1+0,

所以想有第十个参数  需要这么写: echo${10}

$*与$@的区别

#!/bin/bash
echo --------------------
for a in $*
do echo $a
done
echo --------------------
for b in $@
do echo $b
done
echo --------------------
for a in "$*"
do echo $a
done
echo --------------------
for b in "$@"
do echo $b
done

 执行结果

$* 和 $@ 都表示传递给函数或脚本的所有参数

不被双引号" "包含时,$* 和 $@ 都以$1  $2  … $n 的形式组成参数列表

当它们被双引号" "包含时 

"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式组成一个整串;

"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式组成一个参数列表。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值