例如,我想ip addr
在我的远程系统上运行以下命令:
我这样做:
ssh username@ip ip addr
但我收到了这个错误:
bash: ip: command not found
当我连接到远程系统然后运行此命令时,一切正常,我的意思是这不是由卸载的软件包引起的。我想在不永久连接的情况下获得结果。
答案1
简单的:
ssh remotehost "/sbin/ip addr"
原因是,通过ssh命令启动执行ip的远程shell,没有ENV或者只是一个基本的ENV,并且ip不在远程shell的$PATH中。因此,要么指定命令的完整路径,要么在运行命令之前在远程 shell 中获取工作环境。