exec的功能

执行完spark后,发现脚本后面的的两个命令都没有执行,结尾用echo输出了一下 也没打印.脚本内容如下所示:

后来发现start_date后面多了个\,首先去掉斜杠

后来查了查exec,发现exec有两个功能:

1.取代当前的shell,通过给出的命令程序。即命令执行完成后,会退出本shell。

比如:exec ls

在shell中执行ls,ls结束后不返回原来的shell中。

2.文件重定向,可以将文件的重定向看作是是shell程序的文件重定向 比如:比如 exec 5</dev/null;exec 5<&-

exec 3>file 将写入fd3中的内容写入到file中

exec 5<file      将file读入到fd5中

exec 5<&-         关闭fd5

最后发现当前脚本中exec的功能是执行完spark的启动脚本后,就退出shell,所以导致脚本后面的的两个命令都没有执行,结尾用echo输出也没有任何内容打印。

最后的解决方法是删除exec,文件就可以正常打印了。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章