问题描述
我有一个要求,我必须将过滤条件作为参数传递给 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 (将#修改为@)