LInux shell的特色是有不少的环境变量,理解环境变量能够更好的对shell进行理解,本篇就着重讲一下shell中比较经常使用的一些环境变量。
1. 各类以$符号开始的变量
首先写一个例子来帮助理解:test.sh abc 123
$0:表明执行进程的名称, 其中test.sh为$0
$1~$n :传入程序或函数中的
参数,第一个参数为$1,以此类推
因此$1=abc, $2=123
$* : 表明全部的位置参数,并
视为一个字符串,因此$*=" abc 123"
$@
:表明全部的位置参数,
但为各个参数组成的串行,因此 $@="abc" ."123"这两个字符串
$#:表明位置参数的个数 $#=2;
$?:上一个命令执行结束后的传回值,0为成功,非零为失败;
$$:目前bash shell的进程编号;
$_:用途有三种:
a、script执行时,bash的绝对路径,例如/bin/bash
b.上一个命令执行时,最后一个位置参数,因此$_='123'
c.检查邮件时,$_的值为邮件文件名
在shell编程中如果能够灵活的运用好这些$参数,会节省很大的力气的哦。。。
好好学习shell