2013-02-26 52 views
0

我爲作業編寫了conder腳本,並使用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傳遞命令字符串打壞。作業被提交罰款,但我得到了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的抱怨無與倫比的雙引號。但是雙引號對我來說看起來很好。我不知道問題是什麼。這似乎是一個神鷹問題。有任何想法嗎?

+0

是否神鷹翻了一番使用雙引號中嵌入雙引號?大多數shell使用反斜槓雙引號。 – 2013-02-26 04:18:17

+0

是的。根據condor手冊頁,「有兩種允許指定參數的格式,新的語法支持參數內空格的統一引用;舊語法僅在特殊情況下支持參數中的空格。」 我正在使用新的語法。我甚至嘗試了舊的語法,並且我得到了同樣的錯誤。對於舊的語法,我使用了'Arguments = -c \「command_to_run -d -f \」' – aminfar 2013-02-26 04:24:30

回答

1

如果你只是路過-c來砸那麼單引號應該是足夠了(除非你試圖嵌入變量):

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