簡體   English   中英

PUTTY / PLINK如何確定命令已返回?

[英]How does PUTTY/PLINK determine a command has returned?

是換行符嗎? 提示? 到底是什么

嘗試通過plink運行powershell並執行命令,但plink無法識別其完成,會話掛起。 最奇怪的是,該命令通過外殼(通過Putty)發送時成功執行。 但是,通過plink發送時,該命令將掛起...

有任何想法嗎?

Telnet幾乎是原始TCP連接。 所有膩子需要返回的都是服務器的響應。 其余的由外殼和SSH / Telnet服務器控制。

當您的任務運行時,它不會返回命令提示符。

在Linux,Unix和Mac OS X上,您可以在命令后加上&使其在后台運行,然后返回命令提示符。

嘗試在本地終端/命令外殼中運行它。 您基本上應該看到相同的東西。

好的,我仍然不太清楚問題出在哪里,但是我通過TeamCity論壇找到了一種解決方法。

基本上,您想回顯一些輸出到您的PowerShell可執行文件中的任意字符串和管道,如下所示:

echo 'executing powershell...' | C:\windows\system32\windowspowershell \v1.0\powershell.exe  exit 1

因此,完整的plink命令變為:

plink.exe user@someIp -i key.ppk -P 22 -batch -v "echo 'executing powershell...' | C:\windows\system32\windowspowershell\v1.0\powershell.exe exit 1"

鈮。 Plink仍將使用此方法傳遞返回代碼和控制台輸出。

鏈接到TeamCity論壇:

http://youtrack.jetbrains.net/issue/TW-6021

希望這可以幫助

我在其他程序中遇到了同樣的問題。 我在上一條命令之后使用了>&2(將輸出重定向到std err),這對我來說很好。

只需在遠程shell腳本中添加“ return XX”,它將返回值到本地控制台。 plink完成后,鍵入echo %errorlevel%以查看返回碼XX。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM