命令结果在本地起作用,但不能超过SSH



我在远程计算机上运行此命令,并给出所需的结果:

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系列。关于如何远程运行此命令的任何建议吗?

我通过在服务器上创建一个bash脚本如下:

来解决此问题:
#!/bin/bash -l
/usr/local/sbin/i2c_eeprom show-serial

我将其复制到客户端并通过SSH执行。关键是Shebang系列中的" -l"。我在这里找到了这个解决方案。这个命令做什么?&quot'exec bash -l&quot

相关内容

最新更新