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