我有一个有趣的情况。这里的所有代码都是我面临的确切问题的功能性伪代码示例,所以不要开玩笑说分配date
. 我实际上想捕获一个更慢、更依赖资源的函数的输出,但date
可以很好地显示我遇到的功能障碍。
我正在编写 bash 脚本,我想将进程的输出分配给如下变量:
RESPONSE=$(nice -n 19 date);
现在这给了我RESPONSE
一个很好的变量,对吧?好的,如果我想获取内部调用的函数的进程 ID$()
怎么办?我该怎么做?我认为这会起作用:
RESPONSE=$(nice -n 19 date & PID=(`jobs -l | awk '{print $2}'`));
这确实给了我变量中的进程 ID PID
,但是我不再将输出发送到RESPONSE
。
我用作功能示例的代码是这样的。这个例子有效,但没有PID
;是的,我没有分配 aPID
但这是一个例子:
RESPONSE=$(nice -n 19 date);
wait ${PID};
echo "${RESPONSE}";
echo "${PID}";
这个例子给了我一个PID
但没有RESPONSE
:
RESPONSE=$(nice -n 19 date & PID=(`jobs -l | awk '{print $2}'`));
wait ${PID};
echo "${RESPONSE}";
echo "${PID}";
任何人都知道我怎样才能获得RESPONSE
价值PID
?