无法使用 rsh 从 Windows 批处理文件中运行“lspci”命令

无法使用 rsh 从 Windows 批处理文件中运行“lspci”命令

我使用以下命令在 Windows 计算机上制作了一个批处理文件:

rsh hdvg-1 -l root lspci

hdvg-1是网络上 Linux 机器的名称。

但我得到的结果是:command not found。有人可以告诉我我做错了什么吗?

也许还可以帮助我使用以下命令来过滤 lspci 结果:

lspci | grep 'certain string

答案1

rsh需要选项后的主机名,例如,

rsh  -l root hdvg-1 lspci

否则,它会尝试执行"-l"

grep命令有一个不平衡的引号,应该类似于

lspci | grep 'certain string'

如果您想验证该lspci命令在您的计算机上是否可用,您可以这样做

rsh  -l root hdvg-1

获取 shell,然后输入lspci该 shell。顺便说一句,由于rsh可能是 的别名ssh,因此您应该使用它ssh以避免混淆。

另一个令人困惑的来源是,当使用远程 shell 时,您的$PATH环境变量可能不会设置为与正常登录时相同的值。根据讨论rsh 服务器“脚本...”使用哪个 $PATH?,

rsh需要可执行文件、脚本的完全限定名称才能安全。它使用/usr/bin/sh(无论远程服务器上的计算结果),并且PATH通常是有限的: /usr/bin:/usr/sbin

在您的远程计算机上,lspci可能不用于$PATH远程调用。

进一步阅读:

相关内容