exec 可以运行哪些类型的命令?

exec 可以运行哪些类型的命令?

可以运行哪些类型的命令exec?例如,可执行文件、内置命令、shell 脚本、复合命令(例如循环、条件分支)、管道、命令列表、用括号或大括号分组的命令,...?

因为父 shell 在命令运行exec完成后退出,所以很难判断是否有错误。

答案1

exec用另一个替换当前 shell 可执行文件可执行文件,即同一进程中的外部命令。由于没有 shell 来执行任何操作,因此无法通过 调用 shell 概念,例如别名、函数、内置命令或复合命令exec。 (无论如何,语法不允许复合命令。)

当命令 run 完成运行时,shell 不会退出exec。贝壳程序当它运行时终止exec,从某种意义上说,它的代码停止运行(但是,再一次,过程不退出)。贝壳过程继续运行新程序。当执行的程序终止时,进程的父进程会像往常一样得到通知;由它对任何错误做出反应。

相关内容