我有一个使用 PowerShell 从 Linux 服务器中删除文件的脚本。脚本突然停止工作,现在运行此命令时“挂起”:
$file = "file_path"
plink.exe -pw password account@server "rm $file"
我没有收到任何错误消息,脚本也没有完成。
为了至少避免命令挂起脚本,您可以添加超时。
$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
命令。
我建议
plink.exe
不会返回,因为它在 Linux 主机上打开了某种交互式 shell...
因此等待提示。
如果出现任何网络问题,您将在 120 秒后收到错误消息。
建议在 PowerShell 终端中以交互方式运行
plink.exe
命令,看看会发生什么。
建议检查相关的
plink.exe
文档,特别是选项-v
和-batch