SHELL脚本中exec命令

1 shell 中的exec用法
在shell脚本中使用exec命令,根据操作的对象不同会有不同的行为
1 操纵文件描述符
这里面又要说说描述符 shell中有12个描述符
其中 0 代表标准输入
1 代表标准输出
2 错误
其他 3-9 都是空白描述符
*常用的是shell中出现
exec 3>&1 4>&2 1>> zhis_bash.log 2>&1

其含义是 复制标准输出到3 错误输出到 4 把 3 4 保存在zhis_bash.log 这个文件中
等同于 再写一个shell 类似
cat another shell
./zhis_bash.sh >>zhis_bash.log 2>&1

2 其他命令
如果exec 跟的是其他命令,则其他命令结束后,本shell也随之停止。

[root@localhost ~]# cat test_exec.sh
#!/bin/bash

echo “hello mysql”
exec echo ” hello oracle”
echo “hello db2″

运行一下

[root@localhost ~]# ./test_exec.sh
hello mysql
hello oracle

可以看到随着 echo ” hello oracle” 这条指令运行完本 整个脚本执行完毕。
后面的 echo ” hello db2″ 没有执行