linuxshell 中“2>1“含义
启动脚本中常见到
或是如下这种⾸先,熟悉⼀下基本常识0 --stdin (standard input,标准输⼊)1 --stdout (standard output,标准输出)
2 --stderr (standard error,标准错误输出)
⼀般来说, “1>” 通常可以省略成 “>”,所以上述也可以写作
有了这些认识才能理解 “2>&1”,&1表⽰1输出通道,即标准输出通道,如果省略&则表⽰将 标准错误输出 重定向到 ⽂件1 中。因此上述shell命令的完整含义是 运⾏jar包时的 标准输出 重定向到⽂件stdout.log中,⽽后续的2>&1表⽰标准错误输出 重定向到 标准输出,所以运⾏过程中的 标准输出 或 标准错误输出 都会重定向到⽂件stdout.log中。linux重定向
最后再来说下 /dev/null,/dev/null 可以看作"⿊洞". 它等价于⼀个只写⽂件. 所有写⼊它的内容都会永远丢失. ⽽尝试从它那⼉读取内容则什么也读不到.nohup java -jar ${JVM_PARAMS} ${APP_FILENAME} ${APP_PARAMS} > ${LOGS_PATH}/stdout.log 2>&1 &
1php index.php task testTwo >/dev/null 2>&11nohup java -jar ${JVM_PARAMS} ${APP_FILENAME} ${APP_PARAMS} 1>${LOGS_PATH}/stdout.log 2>&1 &
1
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论