首页 > shell exec命令疑问

shell exec命令疑问

shell的内建命令exec并不启动新的shell,而是用要被执行命令替换当前的shell进程,并且将老进程的环境清理掉,而且exec命令后的其它命令将不再执行。---from google

请问"exec命令后的其它命令将不再执行"这句话怎么理解?

shell#!/bin/bash
exec 0<$1 #不是应该在这里退出了吗,怎么还会继续执行read
while read line
do
 echo $line
done

注意一个例外,当exec命令来对文件描述符操作的时候,就不会替换shell,而且操作完成后,还会继续执行接下来的命令。

【热门文章】
【热门文章】