shell脚本在后台运行以及日志重定向输出
后台运行命令
在命令行后加上 &,表示进程到后台中执行,如:cmd &
日志输出重定向
如:cmd > out.log &
Linux默认定义两个变量:1和2;
- 1 表示标准输出
- 2 表示错误输出
如 cmd 1 > info.log 2 > error.log &
其中 cmd > out.log & 和 cmd 1 > out.log & 是一样的,如果想忽略某个输入,则输出到 /dev/null 设备即可
如 cmd 1 > info.log 2 > /dev/null &
如果想将2中的日志和1中的日志写入同一个文件中,则命令如下:
cmd 1 > info.log 2 > &1 &
其中2 > &1的&符号表示错误输出重定向到标准输出
但是这种后台xshell窗口在退出ssh登录后,进程就会自动结束,如果想继续运行,则需要在命令前加上 nohup 命令
如 nohup cmd 1 > info.log 2>&1 &
延伸:
grep 命令
grep "mm" :筛选包含mm字段的内容
grep "mm\|nn" :筛选包含mm或者nn字段的内容
grep -v "mm" :排除包含mm字段的内容
grep -v "mm\|nn":排除包含mm或者nn字段的内容