2013-02-26 1 views
0

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

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 

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

+0

ли Кондор использование удвоились двойные кавычки, чтобы встроить двойные кавычки? Большинство оболочек используют двойную кавычку обратной косой черты. –

+0

Да. Согласно справочной странице кондора: «Существует два допустимых формата для указания аргументов. Новый синтаксис поддерживает равномерное цитирование пробелов внутри аргументов, старый синтаксис поддерживает пробелы в аргументах только в особых обстоятельствах». Я использую новый синтаксис. Я даже попробовал старый синтаксис, и я получил ту же ошибку. Для старого синтаксиса я использовал 'Arguments = -c \ 'command_to_run -d -f \" ' – aminfar

ответ

1

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

Arguments=" -c 'command_to_run -d -f' "