shell特殊变量和前后台任务切换方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell特殊变量和前后台任务切换方法相关的知识,希望对你有一定的参考价值。

echo ‘$0获取当前执行的shell脚本的文件名:‘$0

echo ‘$n获取当前执行的shell脚本的第N个参数值:‘‘$1‘=$1 ‘$2‘=$2 ‘$3‘=$3

echo ‘$*获取当前执行的shell脚本的所有参数:‘$*

echo ‘$#获取当前执行的shell脚本的命令行中参数总个数:‘$#

echo ‘$$获取当前执行的shell脚本的进程号(PID):‘$$

sleep 2 &

echo ‘$!获取执行上一个指令的PID:‘$!

echo ‘$?获取取执行上一个指令的返回值:‘$?

echo ‘[email protected]获所有参数取这个程序的:‘[email protected]

echo ‘$_在此之前执行的命令或脚本的最后一个参数:‘$_


linux前后台任务切换方法:

1、在Linux终端运行命令的时候,在命令末尾加上 & 符号,就可以让程序在后台运行

 ./tcpserv01 &


2、如果程序正在前台运行,可以使用 Ctrl+z 选项把程序暂停,然后用 bg %[number] 命令把这个程序放到后台运行

./tcpserv01

^Z

[1]+  Stopped                 ./tcpserv01

[email protected]:~/unp/unpv13e/tcpcliserv$ bg %1

[1]+ ./tcpserv01 &

[email protected]:~/unp/unpv13e/tcpcliserv$


3、对于所有运行的程序,我们可以用jobs –l 指令查看

[email protected]:~/unp/unpv13e/tcpcliserv$ jobs -l

[1]+  4524 Running                 ./tcpserv01 &


4、也可以用 fg %[number] 指令把一个程序掉到前台运行

[email protected]:~/unp/unpv13e/tcpcliserv$ fg %1

./tcpserv01


5、也可以直接终止后台运行的程序,使用 kill 命令

[email protected]:~/unp/unpv13e/tcpcliserv$ kill %1


6、nohup命令,原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用。

nohup /root/start.sh &

以上是关于shell特殊变量和前后台任务切换方法的主要内容,如果未能解决你的问题,请参考以下文章

shell基础2

Shell特殊变量含义

Shell中的特殊变量($0$#$*$@$$$!$?$1~$n)

Shell中的特殊变量说明

shell种特殊变量$0,$?,$!,$*,$#,$1~$n的说明

shell 中的特殊变量