guyuehhh 发表于 2018-8-26 09:23:28

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 '$@获所有参数取这个程序的:'$@
  echo '$_在此之前执行的命令或脚本的最后一个参数:'$_
  linux前后台任务切换方法:
  1、在Linux终端运行命令的时候,在命令末尾加上 & 符号,就可以让程序在后台运行
  ./tcpserv01 &
  2、如果程序正在前台运行,可以使用 Ctrl+z 选项把程序暂停,然后用 bg % 命令把这个程序放到后台运行
  ./tcpserv01
  ^Z
  +Stopped               ./tcpserv01
  cat@Ubuntu:~/unp/unpv13e/tcpcliserv$ bg %1
  + ./tcpserv01 &
  cat@Ubuntu:~/unp/unpv13e/tcpcliserv$
  3、对于所有运行的程序,我们可以用jobs –l 指令查看
  cat@Ubuntu:~/unp/unpv13e/tcpcliserv$ jobs -l
  +4524 Running               ./tcpserv01 &
  4、也可以用 fg % 指令把一个程序掉到前台运行
  cat@Ubuntu:~/unp/unpv13e/tcpcliserv$ fg %1
  ./tcpserv01
  5、也可以直接终止后台运行的程序,使用 kill 命令
  cat@Ubuntu:~/unp/unpv13e/tcpcliserv$ kill %1
  6、nohup命令,原程序的的标准输出被自动改向到当前目录下的nohup.out文件,起到了log的作用。
  nohup /root/start.sh &

页: [1]
查看完整版本: shell特殊变量和前后台任务切换方法