特殊状态变量

基本语法

$? 上一次命令执行状态返回值,0正确,非0失败
$$ 当前shell脚本的进程号
$!上一次后台进程的PID
$_ 取出之前执行的命令,最后一个参数

man bash
	查找 Special Parameters 可以查看特殊变量

特殊变量用法

#! /bin/bash

[ $# -ne 2 ] && {
        echo "必须是两个参数"
        exit 119 #终止程序运行,且返回119状态吗,提供给当前shell的$?变量,若是在函数里 可以return 119 用法
}

echo "没毛病当前就2个参数"

$? 的用法 获取上一次命令执行状态返回值

[root@localhost shell]# bash specical.sh 
必须是两个参数
[root@localhost shell]# echo $?
119

$$ 的用法 获取脚本的进程id

#! /bin/bash

[ $# -ne 2 ] && {
        echo "必须是两个参数"
        exit 119 #终止程序运行,且返回119状态吗,提供给当前shell的$?变量,若是在函数里 可以return 119 用法
}

echo "没毛病当前就2个参数"
echo "当前脚本id: $$"

$! 的用法 获取上一次后台进程id

[root@localhost shell]# nohup ping 127.0.0.1 & 1> /dev/null
[1] 37732
[root@localhost shell]# nohup: 忽略输入并把输出追加到"nohup.out"
^C
[root@localhost shell]# echo $!
37732

$_ 的用法 获取上次命令的最后一个参数

[root@localhost shell]# bash specical.sh 1 2
没毛病当前就2个参数
当前脚本id: 41864
[root@localhost shell]# echo $_
2
[root@localhost shell]# 
posted @ 2022-05-07 10:01  savagee  阅读(30)  评论(0)    收藏  举报