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