plink.exe 在 PowerShell 脚本中使用时“挂起”

问题描述 投票:0回答:2

我有一个使用 PowerShell 从 Linux 服务器中删除文件的脚本。脚本突然停止工作,现在运行此命令时“挂起”:

$file = "file_path"

plink.exe -pw password account@server "rm $file"

我没有收到任何错误消息,脚本也没有完成。

linux bash powershell plink
2个回答
0
投票

为了至少避免命令挂起脚本,您可以添加超时。

$file = 'file_path'
$PlinkArgs = "-pw password account@server ""rm $file"""

Wait-Process (Start-Process plink.exe $PlinkArgs -PassThru).Id -TimeOut 10 #seconds

您还可以考虑使用

try - catch
语句来终止并记录任何不会自行终止的
plink
命令。


0
投票

我建议

plink.exe
不会返回,因为它在 Linux 主机上打开了某种交互式 shell...

因此等待提示。

如果出现任何网络问题,您将在 120 秒后收到错误消息。

建议在 PowerShell 终端中以交互方式运行

plink.exe
命令,看看会发生什么。

建议检查相关的

plink.exe
文档,特别是选项
-v
-batch

© www.soinside.com 2019 - 2024. All rights reserved.