循环中的 nslookup 命令,只在 Linux Bash 脚本中执行一次

nslookup command in loop, only executes once in Linux Bash script

在以下脚本块中,我尝试对从文件中读取的每个 fqdn 执行 nslookup。但是,脚本在执行第一个 nslookup 命令后停止。代码:

for HOST in `cat ./rhel_hosts`
do
       echo;
       echo "EXECUTING ==> nslookup ${HOST}"
       CMD="nslookup ${HOST}"       
       exec $CMD
done

知道为什么没有后续执行 nslookup 命令吗?

替换

exec $CMD

只有

$CMD

exec 命令用您执行的程序替换 shell 进程,而不是 运行 它在子进程中。循环结束,因为进程中不再执行shell脚本。