.bashrc 파일을 얻었는데 이제 "-bash: /usr/bin/whoami: 인수 목록이 너무 김"이라는 메시지가 표시되어 어떤 명령도 실행할 수 없습니다. SSH 사용

.bashrc 파일을 얻었는데 이제 "-bash: /usr/bin/whoami: 인수 목록이 너무 김"이라는 메시지가 표시되어 어떤 명령도 실행할 수 없습니다. SSH 사용

SSH를 통해 외부 HPC 시스템을 사용하고 있습니다. 오늘 저는 Atom 작업을 위한 Python 코드 "ASE"를 설치하려고 했습니다. 파일을 수정하라는 지침을 따랐 .bashrc지만 계속해서 수정이 이루어지므로 파일에 대한 변경 사항을 인식 해야 한다고 생각하여 파일에 대한 명령을 실행했습니다 ModuleNotFoundError: No module named 'ase'( 불행히도 정확한 명령이 기억나지 않습니다).source.bashrc.bashrc

이제 모든 종류의 명령을 실행하려고 하면(로그아웃했다가 다시 로그인한 후에도) 다음과 같은 결과가 나타납니다.

###################################################################################### (<-- normal welcome message that I always get on login up to here)
-bash: /usr/bin/whoami: Argument list too long
-bash: /usr/bin/cut: Argument list too long
-bash: /usr/bin/logger: Argument list too long
me@n01:~> 

온라인에서 해결책을 찾았지만 이 특정 사례에 대한 예를 볼 수 없었습니다. 동일한 오류가 발생하는 대부분의 사람들은 여전히 ​​파일에 액세스할 수 있는 것 같습니다. 누구든지 도와줄 수 있나요?

SSH를 통해 액세스하는 시스템이기 때문에 루트로 로그인할 수 없습니다. 오류가 발생하지 않고 내 .bashrc또는 파일에 액세스할 수 없습니다..bash_profile

답변1

~/.bashrc귀하의 텍스트를 올바르게 해석하고 있다면 소스 코드 자체 또는 자체, 그리고 ~/.bash_profile서로 무기한으로 소스 코드를 반복적으로 얻을 가능성이 높습니다 (질문에서 명확하지 않습니다). 그 결과 하나 이상의 환경 변수가 불균형적으로 증가하여 인용한 오류 메시지가 발생할 수 있습니다.

이 문제를 해결하려면 bash셸을 시작하지 않고 계정에 액세스해야 합니다.

예를 들어 다음과 같이 할 수 있습니다.

ssh -t user@host /bin/sh

( user@host사용자 이름과 호스트 주소는 어디에 있습니까?) 그러면 /bin/sh기본 로그인 쉘 대신 쉘이 시작됩니다 . 쉘은 /bin/sh일반적으로 이 파일을 가져오지 않으므로 ~/.bashrc이 쉘을 사용하여 동일한 문제가 발생하지 않습니다. 다른 쉘을 선택할 수 있지만 해당 /bin/sh쉘은 어느 정도 존재가 보장됩니다.

~/.bashrc이를 통해 잠재적으로 익숙하지 않지만 완전히 작동하는 셸에 계정에 로그인하여 문제를 해결할 수 있습니다. 이는 다시 어떤 방식으로든 파일을 재귀적으로 가져오는 것과 관련된 것으로 보입니다.

나는 Python에서 겪고 있는 문제를 해결하지 못했습니다. 로컬 시스템 관리 팀이 문제 해결을 도울 수 없음을 확인한 후 개별적으로 문제를 제기해야 할 수도 있습니다.

답변2

.bashrc재귀적 으로 콘텐츠를 추가하고 있습니다 ..bashrc

이 문제를 해결하는 한 가지 방법은 PATH변수를 일반 값으로 설정한 다음 외부 프로그램을 실행하는 것입니다(이런 일이 다시 발생하지 않도록 하려면 .bashrc를 수정해야 하지만).

$ PATH=/usr/sbin:/usr/bin:/sbin:/bin

그런 다음 예를 들면 다음과 같습니다.

$ vi .bashrc

관련 정보