问题描述
我有一个 shell 脚本 (get_data.sh) 使用 heredoc 从 Apache Phoenix 服务器读取表的内容,然后将输出转储到 CSV 文件:
#!/bin/sh
python <HOME>/bin/sqlline.py <<EndOfCommands
!outputformat csv
!record data.csv
SELECT * FROM <TABLE> LIMIT 10;
!record
!quit
EndOfCommands
当我显式调用该脚本时,它可以正常工作。它调用 sqlline.py,重定向 heredoc 中的命令,将 sql 查询的结果保存到 CSV 文件中:
$/.get_data.sh
但是如果我尝试从 crontab 调用脚本,日志表明“python /usr/hdp/current/phoenix-client/bin/sqlline.py”正在被调用,但内容在 heredoc 内(在 EnOfCommands 分隔符之间)永远不会作为输入重定向到 sqlline 的控制台。
对于以下方面的任何建议,我们将不胜感激:
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)