Shell编程中的特殊变量之进程状态变量介绍


进程状态变量

1、$$获取当前shell的进程号(PID)
2、$!执行上一个指令的PID
3、$?获取执行上一个命令的返回值(0为成功,非零为失败,这个很常用)
4、$_在此之前执行的命令或脚本的最后一个参数

cat> test$.sh

echo'$$='$$

echo'$!='$!

echo'$?='$?

echo'$@='$@

echo'$_='$_

#输出如下

sh test$.sh 1 2 3

$$=2556

$!=

$?=0

$@=1 2 3

$*和$@的区别

$*将所有的参数视为单个字符串,相当于“$1$2$3”
$@将每个参数视为单个的字符串,保留命令行中的任何空白字符

set-- 'I am'jane lee

fori in$*; doecho$i; done;

I

am

jane

lee

fori in$@; doecho$i; done;

I

am

jane

lee

fori in"$@"; doecho$i; done;

I am

jane

lee

fori in"$*"; doecho$i; done;

I am jane lee

一句话Shell命令关闭不需要的随机启动服务
Linux可以简单的通过一条shell命令来关闭其他不需要的开机启动服务,只保留计划任务,网络,ssh和日志,看shell命令:chkconfig--list|grep3:on|grep-v"crond|netw

获取服务器信息的Shell脚本分享(ubuntu、centos测试通过)
此脚本已经在ubuntu以及centos版本上测试通过,脚本如下:#!/bin/bashLine='==========='#linux发行版名称if[[-f/usr/bin/lsb_release]];thenOS=$(/usr/bin/lsb_release-a|grepDescriptio

Shell中比较大小简洁总结
#!/bin/bashif[$1-gt$2]thenecho"$1$2"elseecho"$2$1"fi#数字判断一些命令#-gt是大于的意思#-lt是小于#-eq是等于#-ne是不等于#-ge是大于等于#le是小于等于