scp / rsyncオートコンプリートは1つの方法で機能しますが、他の方法では機能しません。

scp / rsyncオートコンプリートは1つの方法で機能しますが、他の方法では機能しません。

ラップトップとサーバーという2台のコンピュータがあります。両方/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この問題を解決しました。

関連情報