não pode executar o comando “lspci” usando rsh de um arquivo de lote do windows

1

Eu fiz um arquivo em lote em uma máquina Windows, com o seguinte comando:

rsh hdvg-1 -l root lspci

O hdvg-1 é o nome da máquina Linux na rede.

Mas o resultado é: command not found . Alguém pode me dizer o que estou fazendo errado?

Talvez também me ajude a usar o seguinte comando para filtrar o resultado do lspci:

lspci | grep 'certain string
    
por R T 27.08.2016 / 16:26

1 resposta

1

rsh espera o nome do host após as opções, por exemplo,

rsh  -l root hdvg-1 lspci

Caso contrário, está tentando executar "-l" .

O comando grep tem uma cotação não balanceada e deve ser algo como

lspci | grep 'certain string'

Se você quiser verificar se o comando lspci está disponível em sua máquina, você poderia fazer apenas

rsh  -l root hdvg-1

para obter um shell e digite lspci nesse shell. A propósito, como rsh é provavelmente um alias para ssh , você deve usar ssh para evitar confusão.

Outra fonte de confusão é que ao usar shells remotas, sua variável de ambiente $PATH pode não ser definida como se você tivesse feito login normalmente. De acordo com uma discussão no servidor rsh "script ..." que $ PATH é usado ,

rsh requires fully qualified names of executables, scripts to be safe. It uses /usr/bin/sh (whatever that evaluates to on the remote server), and the PATH is usually limited: /usr/bin:/usr/sbin

Na sua máquina remota, lspci pode não estar no $PATH usado para a chamada remota.

Leitura adicional:

por 27.08.2016 / 16:52