微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Unix | Spark - 用空格设置位置变量

如何解决Unix | Spark - 用空格设置位置变量

我有一个要求,我必须将过滤条件作为参数传递给 shell bash 脚本

eg "col IN ('abc')"

这很好用,当我通过 spark submit 直接传递它时。 我想创建一个bash shell脚本并通过像

这样的shell脚本传递它
./shell.sh "col IN ('abc')"

现在,我在上述 shell 脚本方法中面临的问题是,即使我用双引号传递参数,但 bash-4.1 仍将其拆分为多个参数,这进一步破坏了我的 spark 代码

我知道我可以在 shell 脚本中反斜杠参数引号并将其提供给 EVAL 函数并使其工作,becoz 下面对我有用,但问题是,我必须将此 1 行脚本提供给非编程人员人(他只知道基本的 sql)并且不想让他在每次运行程序时管理反斜杠。

./shell.sh "\"col IN ('abc')\""

我在参数上也尝试了很多操作,然后通过

再次设置它
set -- param

但是 bash 再次将其拆分为多个参数。 有没有简单的方法可以在 shell 脚本中解决这个问题??

请帮忙。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。