Linux Shell 作业控制命令
command& 在后台运行command
Ctrl_c 发送SIGINT信号终止当前的前台作业
Ctrl_z 发送SIGTSTP信号挂起当前的前台作业
Ctrl_y 在进程企图读终端时挂起前台作业
bg %num 将被挂起的作业送入后台运行,%num是作业号,下同
fg %num 将被挂起的作业送入前台运行
kill %num 终止作业号为num的后台作业
kill pid 终止进程ID为pid的进程
stop %num 挂起一个后台作业
stty tostop 如果后台作业企图写终端,自动挂起它们
jobs 查看作业状态
编写一个等待后台任务退出的脚本,等待10秒后,将后台作业kill掉
#!/bin/bash
adb logcat -v threadtime &
sleep 10
kill %1
LinuxShell脚本命令行参数的写法
$0 ---- 当前程序的名称,实际上是一个内部参数,不同于$1,$2....因为它必须有!
$# ---- 传递给程序的总的参数数目,也就是那个传说中的数组大小
$? ---- 上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。
$* ---- 传递给程序的所有参数组成的字符串。
$@ ---- 以"参数1" "参数2" ... 形式保存所有参数
$$ ---- 本程序的(进程ID号)PID
$! ---- 上一个命令的PID
命令行指令$ test.sh f1.c f2.c
脚本举例:
if [ $# -eq 0 ];then
echo "no arguments"
else
for args in $@
echo $args
fi
其中$#表示参数的个数,$@取到所有的参数值。