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]

노트북은 우분투 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이 문제를 해결했습니다.

관련 정보