Shell中>/dev/null 2>&1和2>&1 >/dev/null

在Linux系统中0,1,2是一个文件描述符:

0:system in,标准输入

1:system.out,标准输出

2:system.error,标准错误输出

>&是一个整体,2>&1指,将标准错误输出,重定向到标准输出中

>/dev/null 2>&1

本来1指向命令行打印,

执行>/dev/null后,标准输出1重定向到/dev/null,也就是全部丢弃

执行2>&1后,2——>1,而1——>/dev/null,所以2——>/dev/null,即标准错误输出也全部丢弃。

eg:java -jar XXX.jar >log 2>&1 &

在shell脚本中执行XXX.jar包,将标准输出执行log,然后标准错误输出指向1即也指向log,最后一个&代表后台启动。

后面再加一个&指后台启动。


ps:--server.port=端口号:占用端口

grep -v grep:意指过滤掉包含grep的那一行

你可能感兴趣的:(Shell,Shell)