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 (将#修改为@)