系统预定义变量

来源:互联网 发布:cst仿真软件介绍 编辑:程序博客网 时间:2024/04/28 10:39

系统预定义变量:

系统预定义变量是由预先定义的一组变量,这些变量用于保存与系统、命令等有关的信息。系统预定义变量由系统自动生成、维护。

常见的预定义变量及其含义如下:

$0:保存当前进程或者脚本名称。

$*:保存传递给脚本或者进程的所有位置参数,且被当作一个字符串

$@:保存传递给脚本或者进程的所有位置参数,但是每个位置参数各自独立,默认以空格隔开

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

$?:保存上一条命令是否执行成功的信号,如果执行成功,将返回数字1,如果执行失败,返回数字1,命令不存在往往返回127

$#:保存传入脚本的参数个数

$$:保存当前脚本或者进程号的PID

Shell实例1:

[root@ChangerLee 环境变量的定义]#pwd

/home/changerlee.example.com/Desktop/shell/shell_note/环境变量的定义

[root@ChangerLee 环境变量的定义]#echo $?

0

[root@ChangerLee 环境变量的定义]#pw

bash: pw: command not found...

[root@ChangerLee 环境变量的定义]#echo $?

127

[root@ChangerLee 环境变量的定义]#cd /kk

-bash: cd: /kk: No such file or directory

[root@ChangerLee 环境变量的定义]#echo $?

1

Shell实例2:

[root@ChangerLee 环境变量的定义]#cat prenv.sh 

#!/bin/bash

#系统预定义变量实例

 

echo "保存当前脚本或者进程的名称:$0"

echo "保存传递给脚本或进程的所有位置参数,以一个字符串呈现:$*"

echo "保存传递给脚本或进程的所有位置参数,以单个参数出现:$@"

echo "当前进程或者脚本的PID号:$$"

sleep 10 &

echo "后台运行的最后一个进程的PID号:$!"

echo "保存传向脚本的参数个数:$#"

[root@ChangerLee 环境变量的定义]#sh prenv.sh abc def

保存当前脚本或者进程的名称:prenv.sh

保存传递给脚本或进程的所有位置参数,以一个字符串呈现:abc def

保存传递给脚本或进程的所有位置参数,以单个参数出现:abc def

当前进程或者脚本的PID号:30039

后台运行的最后一个进程的PID号:30040

保存传向脚本的参数个数:2

0 0