0

我有一个csh脚本 ( a.csh) 调用另一个 ( ./b.csh)。a.csh如果在运行时不满足某些条件,我该如何退出b.csh

这是我的称呼b.csh

b.csh >&! b.csh.log

bash 如何退出bash中的所有调用脚本有一个相关的问题?.

4

1 回答 1

0

在内部b.csh,使用它来终止a.csh而不终止b.csh

set PPID = `ps -ef | awk -v pid="$$" '{if ($2 == pid) {print $3}}'`
kill $PPID

在类似 bash 的 shell 中,$PPID已定义,但对于 csh,我们必须手动提取它。

$$返回当前进程 ID (pid)(即 的 pid b.csh)。

于 2013-12-15T23:34:38.590 回答