condor: непревзойденные кавычки при отправке заданий bash

Я написал сценарий conder для задания и использую condor_submit для отправки этого задания. Ниже мой скрипт:

Executable=/bin/bash
Arguments=" -c "" command_to_run -d -f"" "

initialdir= /path/
output=/path/out
error=/path/err
log=/path/log
universe = vanilla 
Getenv = true
Queue

Как видно выше, исполняемый файл — bash, и я использую -c, чтобы передать команду в виде строки в bash. Задание отправляется нормально, но я получаю следующее сообщение об ошибке в выходном файле err:

command_to_run: -c: line 0: unexpected EOF while looking for matching `"'
command_to_run: -c: line 1: syntax error: unexpected end of file

Это просто bash, жалующийся на непревзойденные двойные кавычки. Но двойные кавычки мне подходят. Я не знаю, в чем проблема. Похоже, это проблема кондора. Любые идеи?


person aminfar    schedule 26.02.2013    source источник
comment
Использует ли Condor двойные двойные кавычки для встраивания двойных кавычек? В большинстве оболочек используется двойная кавычка с обратной косой чертой.   -  person Jonathan Leffler    schedule 26.02.2013
comment
Да. Согласно странице руководства condor, существует два допустимых формата для указания аргументов. Новый синтаксис поддерживает единообразное заключение пробелов в аргументах; старый синтаксис поддерживает пробелы в аргументах только в особых случаях. Я использую новый синтаксис. Я даже попробовал старый синтаксис и получил ту же ошибку. Для старого синтаксиса я использовал Arguments= -c \" command_to_run -d -f \"   -  person aminfar    schedule 26.02.2013


Ответы (1)


Если вы просто передаете -c в bash, то одинарных кавычек должно быть достаточно (если вы не пытаетесь внедрить переменные):

Arguments=" -c 'command_to_run -d -f' "
person cwgem    schedule 03.03.2013