这是我的大致理解:但恐怕表达不太清楚,还请高手指正。
exec是shell内建的命令,它将当前shell替换为一个特定命令,而不是开一个shell子进程。放在脚本中,脚本会被执行的命令代替,命令执行完毕后,脚本也立即退出,所以exec一般都要放在脚本最后。
你将以下两段脚本比较执行以下
[code:1]#!/bin/bash
ls -l
ls -l
[/code:1]
[code:1]#!/bin/bash
exec ls -l
ls -l
[/code:1]
exec是shell内建的命令,它将当前shell替换为一个特定命令,而不是开一个shell子进程。放在脚本中,脚本会被执行的命令代替,命令执行完毕后,脚本也立即退出,所以exec一般都要放在脚本最后。
你将以下两段脚本比较执行以下
[code:1]#!/bin/bash
ls -l
ls -l
[/code:1]
[code:1]#!/bin/bash
exec ls -l
ls -l
[/code:1]