发新话题
打印

( cmd ) 真的是在 sub shell 中运行的?

( cmd ) 真的是在 sub shell 中运行的?

复制内容到剪贴板
代码:
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[14009 0] ; echo $$
14009
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[14009 0] ; pid() { echo $$; }
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[14009 0] ; type pid
pid is a function
pid ()
{
    echo $$
}
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[14009 0] ; pid
14009
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[14009 0] ; export -f pid
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[14009 0] ; ( pid )
14009
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[14009 0] ; bash -c 'echo $PPID; echo $$; pid'
14009
14043
14043
-(dearvoid@LinuxEden:tty3)-(~/tmp)-
[14009 0] ; o
[ 本帖最后由 dearvoid 于 2007-8-16 12:53 编辑 ]      
'
◆ 发帖时请【突出主题】, 以便您的问题能够及时得到回复
◆ 发帖时请将您的【代码】或者【脚本】写在 [code] 和 [/code] 中间

TOP

再给个例子:
复制内容到剪贴板
代码:
[dearvoid@LinuxEden:tty3 ~/tmp] ; echo $$
14070
[dearvoid@LinuxEden:tty3 ~/tmp] ; cat foo.sh
#!/bin/bash

echo " PID=$$"
echo "PPID=$PPID"
[dearvoid@LinuxEden:tty3 ~/tmp] ; ./foo.sh
PID=14278
PPID=14070
[dearvoid@LinuxEden:tty3 ~/tmp] ; ( ./foo.sh )
PID=14279
PPID=14070
[dearvoid@LinuxEden:tty3 ~/tmp] ; o
      
'
◆ 发帖时请【突出主题】, 以便您的问题能够及时得到回复
◆ 发帖时请将您的【代码】或者【脚本】写在 [code] 和 [/code] 中间

TOP

发新话题