2013-05-10 54 views
1

当作业完成时(以及失败),我需要从父bash脚本中复制并执行bash脚本,我需要父脚本来删除它所复制的子脚本文件。处理Bash中的临时文件

下面是我工作的代码片段:

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

这由于某种原因失败,似乎当子进程结束干脆退出。 使用exec是否正确?

+2

的方式来标记了一个问题,“解决”是接受的答案,而不是更改标题。欢迎来到SO。 – msw 2013-05-10 10:18:11

回答

2

exec将取代您当前的进程,因此之后的语句将永远无法达到。

您可以用shbash更换exec,或只是将其删除,如果孩子脚本是可执行的。

参见:The Bash Reference Manual for exec

+0

感谢一束,修复它! – 2013-05-10 10:02:31