我有这个:
我希望在f1()
中我能够访问变量$pid
。但我的脚本不会打印函数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
答案 0 :(得分:3)
在将pid
分配到自己的进程后,您在父进程中分配f2
,因此无法跨进程访问它。您可以$$
访问自己的流程'pid。