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,文件就可以正常打印了。

 

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