怎么查找nohup输出的日志文件位置
1、首先,来看下run.sh脚本
"echo $HOME" 这是一条正常命令
"cat x”因为x文件是不存在的,所以会抛出异常
用nohup命令直接运行,可以看到在运行命令的当前目录生成了一个nohup.out,这就是默认的日志输出文件。再看下内容:
'/root' 和 'cat: x: No such file or directory'分别对应两条命令。

2、如果想要存放在自定义的日志文件里, 那我们要先来熟悉下一些概念:
标准输出 : STDOUT, 文件描述符是1,默认输出显示在终端
标准错误 : STDERR,文件描述符是2, 默认输出显示在终端
>文件名: 先清空文件,再添加信息
>>文件名: 在文件末尾追加信息
1>文件名(1可以省略 >文件名):先清空文件,再添加标准输出信息
2>文件名: 先清空文件,再添加标准错误信息
1>>文件名(1可以省略 >文件名): 在文件末尾追加标准输出信息
2>>文件名: 在文件末尾追加标准错误信息
nohup ./ruh.sh 1>std.log 2>error.log
这条命令的含义是将标准输出重定向到到std.log, 标准错误信息重定向到到error.log

3、如果我们只写标准输出的重定向,会怎样。
nohup ./run.sh 1>std.log, 可以看到标准输出被重定向大std.log, 同时标准错误也被重定向到std

4、如果我们只写标准错误的重定向,又会怎样。
nohup ./run.sh 2>error.log, 可以看到标准输出被重定到nohup.out, 同时标准错误被重定向到error.log

5、如果要将标准输出重定向到标准错误的日志中
nohup ./run.sh 2>error.log 1>&2
&2的含义是当前标准错误的重定向文件,那就是error.log
