Questions tagged «subshell»

6
为什么$$返回与父进程相同的ID?
我对Bash有问题,我也不知道为什么。 在shell下,我输入: echo $$ ## print 2433 (echo $$) ## also print 2433 (./getpid) ## print 2602 “ getpid”是获取当前pid的C程序,例如: int main() { printf("%d", (int)getpid()); return 0; } 让我感到困惑的是: 我认为“(命令)”是一个子进程(对吗?),我认为其pid应该与其父pid不同,但是它们是相同的,为什么... 当我使用程序在括号之间显示pid时,显示的pid不同,对吗? 是“ $$”之类的宏吗? 你能帮助我吗?
159 bash  shell  pid  subshell 

5
有没有一种方法可以编写一个bash函数来中止整个执行过程,而无论其调用方式如何?
我在bash函数中使用“ exit 1”语句来终止整个脚本,并且运行良好: function func() { echo "Goodbye" exit 1 } echo "Function call will abort" func echo "This will never be printed" 但是后来我意识到,当这样调用时,它不会起作用: res=$(func) 我知道我创建了一个子shell,并且“ exit 1”中止了该子shell,而不是主要子shell...。 但是,有没有一种方法可以编写一个中止整个执行过程的函数,而无论其调用方式如何?我只需要获取实际的返回值(由函数回显)。
83 bash  function  exit  subshell 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.