원격 컴퓨터에서 zsh
설정을 변경했지만 이제 설정이 깨졌고
키를 누를 때마다 "url-quote-magic: 1: url-quote-magic: 함수 정의 파일을 찾을 수 없습니다."라는 메시지가 나타납니다.
해당 컴퓨터에 다른 계정이 없습니다. 오류를 비활성화하여 .zshrc
쉘을 다시 사용하고 수정할 수 있도록 하려면 어떻게 해야 합니까?
답변1
다음과 같이 로그인하지 않고도 원격 서버에서 명령을 실행할 수 있습니다.
ssh -lUSERNAME SERVER COMMAND
예를 들어
ssh -lsomeuser someserver 'mv .zshrc .zshrc.bak'
마지막 인수로 제공된 명령은 비대화형 ssh
쉘에 의해 실행되는 반면,.zshrc
zsh
맨페이지, 파일 시작 및 닫기 섹션).
답변2
서버에 SFTP를 통해 .zshrc
빈 파일이나 사용 가능한 파일로 덮어쓸 수도 있습니다!
답변3
여기서는 당신이 망친 파일이 대화형 로그인에서만 사용되기 때문에 쉽습니다. 을 망친 경우 ~/.zshenv
또는 로그인 쉘이 bash인데 망한 경우 ~/.bashrc
(이상하게도 bash ~/.bashrc
는 비대화형 로그인 쉘이고 그 부모가 rshd
or 인지 판독 sshd
함) 명령 실행에 의존할 방법이 없습니다. 비대화형이면 괜찮습니다. .
SSH는 쉘 실행을 고집합니다. 로그인할 수 있는 다른 방법이 없는 경우(다른 계정을 통해 또는 ssh 이외의 방법을 통해) 유일한 방법은 인증 후 쉘이 문제의 행에 도달하기 전에 빠르게 +를 누르는 것입니다 Ctrl. C실제로 이 작업은 일반적으로 수동으로 수행할 수 있습니다. 시스템의 부하(CPU 또는 디스크)를 예약하는 것이 도움이 될 수 있습니다. 적절한 시점에 키를 누르는 데 문제가 있는 경우 를 사용해 보세요 expect
.
답변4
다음을 사용 하도록 쉘을 변경할 수 있습니다 bash
.
ssh -luser server 'chsh -s /bin/bash'
bash가 서버에서 사용 가능하고 나에게 적합하다고 가정합니다.