所以,我有点问题:
最初我使用scp
将文件从本地计算机复制到远程计算机,然后才意识到scp会覆盖而不是追加。但我需要它追加。所以我做了一些谷歌搜索,并使用cat
和ssh
替代了这个替代方案:
cat localfile | ssh user@remoteserver "cat >> remotefile"
问题是,每当我使用该方法时,我都会收到这个有趣的错误:
bash: cat: command not found
当我通常ssh进入我的远程计算机时,我可以cat
就好了,所以我正在寻找帮助解决这个问题或者找到一种方法来仅使用来自我本地主机的命令进行追加。
答案 0 :(得分:2)
通过ssh运行时,$PATH
可能会有所不同。
无论如何,您可以运行which cat
来查找实际放置在远程计算机上cat
的位置,并在命令调用中对路径进行硬编码。例如
ssh user@remoteserver "/sbin/cat >>remotefile" <localfile
(顺便说一下,你真的不需要本地cat
)。
另一个选择是使用支持附加的SFTP客户端。