#scala #shell
#scala #оболочка
Вопрос:
Следующая команда успешно выполняется при запуске в оболочке
csvsql --db "postgresql://user:password@localhost:5432/samples" --table sample_table --insert /absolute.path.csv
но не выполняется при запуске из scala следующим образом:
s"""csvsql --db "postgresql://user:password@localhost:5432/samples" --table sample_table --insert /absolute.path.csv""" !!
со следующей ошибкой:
Ошибка аргумента: не удалось проанализировать URL-адрес rfc1738 из строки ‘»postgresql://user:password@localhost:5432/samples «‘
Комментарии:
1. Попробуйте заменить двойные кавычки внутри строки на одинарные кавычки.
Ответ №1:
Оболочка удалит кавычки перед передачей аргумента процессу, поэтому вам необходимо удалить кавычки из строки базы данных. Вероятно, лучше использовать a Seq
аргументов, а не строку:
Seq("csvsql", "--db", "postgresql://user:password@localhost:5432/samples", "--table", "sample_table", "--insert", "/absolute.path.csv") !!