0

我有这个:

我希望f1()我能够访问变量$pid。但是我的脚本不打印来自 function 的值f1()。你能解释一下吗?

#!/bin/sh

f1()
{
    echo in f1 pid is $pid
}


f2()
{
    sleep 1
    f1
}

f2 &

pid=$!

echo f2 bg pid is $pid

输出

f2 bg pid is 15095
in f1 pid is
4

1 回答 1

3

pid您在分叉到自己的进程后在父进程中进行分配f2,因此无法跨进程访问它。您可以将自己的进程 pid 访问为$$.

于 2012-06-15T21:39:01.460 回答