我在远程计算机上运行此命令,它会提供所需的结果:
local# /usr/local/sbin/i2c_eeprom show-serial
serial = 5070045
当我从远程服务器运行它时,它不起作用:
server# sshpass -f pass.out ssh 192.168.1.1 -n -o "StrictHostKeyChecking=no" "i2c_eeprom show-serial"
serial = TBD Serial
为什么不能正确显示结果?我尝试过先创建脚本文件,然后将输出重定向到远程文件,然后读取文件,但没有得到相同的结果。我总是得到TBD Serial。关于如何远程运行此命令以及如何在本地执行操作的任何建议?
答案 0 :(得分:0)
我通过在服务器上创建bash脚本来解决此问题,如下所示:
#!/bin/bash -l
/usr/local/sbin/i2c_eeprom show-serial
我将其复制到客户端并通过ssh执行。关键是shebang行中的“ -l”。我在这里找到了这个解决方案。 What does this command do? "exec bash -l"