在父进程中显示子shell的输出
Displaying output of subshell in parent process
echo "echo in parent process"
bash
echo "echo in subshell"
exit
当我从终端执行此代码块时 (./test.sh
)
我只看到 "echo in parent process" 作为输出,但我也想看到来自 subshell 的输出。查看来自 subshell/child 进程的输出的方法是什么。
你永远不会看到第二个命令,因为它还没有发生。相反,您只是以交互方式再次启动 bash。如果您手动输入 exit
,您会注意到您现在位于内部 shell 中。
$ ./test.sh
echo in parent process
$ exit
echo in subshell
您可能想做的是:
#!/bin/bash
echo "echo in parent process"
bash -c 'echo "echo in child process"'
echo "echo in parent process"
bash
echo "echo in subshell"
exit
当我从终端执行此代码块时 (./test.sh
)
我只看到 "echo in parent process" 作为输出,但我也想看到来自 subshell 的输出。查看来自 subshell/child 进程的输出的方法是什么。
你永远不会看到第二个命令,因为它还没有发生。相反,您只是以交互方式再次启动 bash。如果您手动输入 exit
,您会注意到您现在位于内部 shell 中。
$ ./test.sh
echo in parent process
$ exit
echo in subshell
您可能想做的是:
#!/bin/bash
echo "echo in parent process"
bash -c 'echo "echo in child process"'