0
我試圖運行裏面的Scala命令不起作用,這個命令是SSH調用需要的服務機內的CMD線的執行,它看起來像斯卡拉:正確的shell命令使用的ProcessBuilder
sshpass -p PSW ssh [email protected] "/absolute_path/program -input /absolute_path/filename"
如果我打印從斯卡拉這個字符串,然後直接運行它正常的外殼內,但使用
cmd !
的服務器返回一個錯誤
bash: /absolute_path/program -input /absolute_path/filename: No such file or directory
運行它
有人可以告訴我怎麼修復嗎?謝謝
修訂
var nestedcmd = "/absolute_path/program" +
" -input "+ server_dir +"/"+ filename
var cmd = "sshpass -p "+ server_pass +
" ssh "+ server_user +"@"+ server_ip +
" \""+ nestedcmd + "\""
println(cmd)
cmd !
的println產生我想直接在外殼內部運行,在cmd查詢!應該運行相同的命令
我在開發過程中使用這個解決方案,因爲在生產中代碼將直接運行到服務器,我不需要ssh調用,但對於開發,我需要運行「程序」從我的電腦服務器上
解決
這是足以刪除引號,SSH採用的連接參數服務器
你有沒有嘗試用「」「(三引號)包裝整個事情,它會通過命令 – raam86
我剛剛試過,是相同的,正確運行將字符串複製到shell但不直接從Scala –
你能發佈更多代碼?看起來shell在輸入行之前正在讀取EOL,並將其作爲單獨的命令查看路徑 – raam86