1

我需要从父 bash 脚本中复制并执行 bash 脚本,当作业完成时(如果失败),我需要父脚本删除它复制的子脚本文件。

这是我正在处理的代码片段:

if [ -e $repo_path/install ]; then
  cp $repo_path/install $install_path
  exec $install_path/install
  rm $install_path/install
fi

由于某种原因,这失败了,它似乎在子进程结束时完全退出。exec使用这个例子是否正确?

4

1 回答 1

2

exec替换您当前的流程,因此永远不会到达之后的语句。

您可以替换execshor bash,或者如果子脚本是可执行的,则将其删除。

另请参阅:exec 的 Bash 参考手册

于 2013-05-10T09:16:26.837 回答