Как передать переменную bash в виде строки, а не массива, в файл scala - PullRequest
1 голос
/ 12 октября 2019
export str_opt="$(cat bi_sureyield_clicks_v.sql|tr '\n' ' ')"
sbt "run $str_opt"

У меня есть этот код в файле gitlab-ci.yml. Я хочу сделать что-то, когда файл sql передается в хранилище. И поскольку файл sql называется \ n init, я обрезаю его и затем отправляю в проект scala с помощью команды sbt run, но в коде я делаю что-то вроде

object printtest {
    def main(args:Array[String]):Unit = {
        println("HELLO WORLD SCALA" + args.length)
        args.foreach{println}
    }
}

и показывает длину> 1. Он принимает \ n или пробел в качестве разделителя для новой строки. Как получить его как одну строку в Scala, чтобы я мог использовать запрос и что-то с ним сделать. Я не хочу писать код на конце Scala. Возможно ли использовать bash или я делаю что-то не так?

Спасибо

1 Ответ

1 голос
/ 12 октября 2019

Вам необходимо добавить экранированные двойные кавычки в двойные кавычки, например:

sbt "run \"$str_opt\""
...