scp/rsync 自动完成以一种方式工作,但不是另一种方式

scp/rsync 自动完成以一种方式工作,但不是另一种方式

我有两台机器,笔记本电脑和服务器。两者均/etc/bash_completion源自.bashrc.

什么有效:

server$ scp file laptop:~/stage/[tab][tab]
server$ scp laptop:~/stage/[tab][tab] .
server$ rsync -r folder laptop:~/stage/[tab][tab]

什么不起作用

laptop$ scp file server:/data/[tab][tab]
laptop$ scp server:/data/[tab][tab] .
laptop$ rsync -r folder server:/data/[tab][tab]

笔记本电脑运行的是 ubuntu 16.04,服务器运行的是 18.04。

服务器

rsync 版本 3.1.2

scp/ssh 不要使用 --version

笔记本电脑

rsync版本3.1.1

scp/ssh 不要使用 --version

两台机器都有对方的公钥,并且 ssh(以及实际的 rsync/scp 传输)无需密码即可工作。显然,一切都按照一种方式进行设置,但我无法弄清楚是什么导致它在另一个方向上失败?

答案1

我找到了解决方案 -bash-completion笔记本电脑上从未安装过软件包。

这是一个误导性的问题,因为.bashrc文件的源是正确的,并且不会引发错误。然而该文件从未存在过。

bashrc 确实检查,但是 /usr/share/bash-completion/bash_completion 确实存在。为什么它不起作用,我不知道。

sudo apt install bash-completion解决了这个问题。

相关内容