Bash 如何重定向'&';命令';什么日志?

Bash 如何重定向'&';命令';什么日志?,bash,jobs,Bash,Jobs,命令如下: # ls >log 2>&1 & [1] 24274 现在我想让这一行[1]24274重定向另一个文件。有什么想法吗? 除非您试图获取工作编号,否则最简单的方法是使用$!,这将为您提供最新背景工作的PID。例如: $ sleep 30 & bg_pid=$!; echo $bg_pid [2] 10100 10100 如果您真的想从存储的PID中获取作业编号,可能要使用Bash的作业控制,而不是使用kill向进程发送信号,您可以执行以下操作

命令如下:

 # ls >log 2>&1 &
 [1] 24274
现在我想让这一行
[1]24274
重定向另一个文件。有什么想法吗?


除非您试图获取工作编号,否则最简单的方法是使用$!,这将为您提供最新背景工作的PID。例如:

$ sleep 30 & bg_pid=$!; echo $bg_pid
[2] 10100
10100
如果您真的想从存储的PID中获取作业编号,可能要使用Bash的作业控制,而不是使用kill向进程发送信号,您可以执行以下操作:

jobs -l | fgrep $! | perl -ne 'print "$1\n" if /\[(\d+)\]/'

这个问题更适合我
jobs -l | fgrep $! | perl -ne 'print "$1\n" if /\[(\d+)\]/'