2017-08-11 20 views
-1

美好的一天!有一個代碼:瞭解在CMD中使用引號

start cmd.exe @cmd /k "docker exec -i hacklab bash -c "cd /opt/venom/src && python3.6 v3n0m.py"" 

當我運行它,我得到一個錯誤:

'python3.6' is not recognized as an internal or external command, an operational program, or a batch file. 

很顯然,在引號中的錯誤,但我不知道如何解決它。

代碼本身打開一個新的窗口,並在它運行的命令,那就是:

start cmd.exe @cmd /k "call the command in a new terminal window" 

不帶引號這段代碼是100%的工作,我會的幫助表示感謝。

+0

的錯誤是不言自明。是python安裝並在你的'PATH'變量? –

+0

此代碼在docker容器中執行,而不是在Windows CMD中執行。是的python3.6是在容器內的PATH。 –

+0

當然你的意思是簡單地'開始cmd/k'。最初的「cmd.exe」是一個錯誤,它只是CMD輕鬆的命令行解析而忽略了它。 – eryksun

回答

0

你有錯誤的嵌套引號!退出內部設置,或將其更改爲單引號。

start cmd.exe @cmd /k "docker exec -i hacklab bash -c \"cd/opt/venom/src && python3.6 v3n0m.py\"" 

OR

start cmd.exe @cmd /k "docker exec -i hacklab bash -c 'cd/opt/venom/src && python3.6 v3n0m.py'" 
+0

第一次返回''python3.6'不被識別爲內部或外部命令,可操作的程序或批處理文件。'和第二個'bash:-c:第0行:意外的EOF,同時尋找匹配的''''bash :-c:第1行:語法錯誤:文件結尾意外# –

+0

看起來很明顯:不管代碼在你的機器上工作的代碼是多少,在docker容器**裏面不存在命令python3.6。 – SiKing

+0

當我執行'docker exec -i hacklab bash -c「cd/opt/venom/src && python3.6 v3n0m.py」'程序正常啓動時。所以在Docker容器中存在python3.6。 –