bash - 如何将bash变量作为字符串而不是数组传递给scala文件
问题描述
export str_opt="$(cat bi_sureyield_clicks_v.sql|tr '\n' ' ')"
sbt "run $str_opt"
我在 gitlab-ci.yml 文件中有这段代码。当在 repo 中提交 sql 文件时,我想做一些事情。由于 sql 文件为 \n init,我将其截断,然后使用 sbt run 将其发送到 scala 项目,但在代码中我做了类似的事情
object printtest {
def main(args:Array[String]):Unit = {
println("HELLO WORLD SCALA" + args.length)
args.foreach{println}
}
}
它显示长度> 1。它需要 \n 或空格作为新字符串的分隔符。如何在 scala 中将其作为单个字符串获取,以便我可以使用查询并对其进行处理。我不想在 Scala 端写代码。是否可以使用 bash 或者我做错了什么?
谢谢
解决方案
您需要在双引号中添加转义的双引号,如下所示:
sbt "run \"$str_opt\""
推荐阅读
- javascript - 处理复杂的 JavaScript 对象
- gdb - 使用 ptrace 时阻止信号传播到下级
- html - iphone上的全屏背景图像模糊
- c# - 查找未使用/不必要的 assemblyBinding 重定向
- php - 不超过 5 位数字或包含字符串的正则表达式
- c# - 发送批量电子邮件时出现错误“异步调用已在进行中。必须先完成或取消,然后才能调用此方法”
- python - Python + Selenium:for 循环出错了
- redis - Redis 通过 PostList (Zsets) 的两个值进行搜索
- css - 如何在 SASS 中声明双行变量?
- javascript - 在模态引导程序上单击关闭后如何更改颜色按钮(提交)