Bad : $ (/)의 수정 자. 로그인 후 Linux에서 새 화면을 만들 때마다 표시됩니다.

Linux에서 로그인하고 새 화면을 만들 때마다 다음 오류가 항상 나타납니다.

Bad : modifier in $ (/). 

최근 경로를 추가했는데 관련 여부를 모르겠습니다.

경로의 경우

.bashrc.

다시 나타나지 않도록 수정하려면 어떻게해야합니까?

감사합니다!

댓글

  • 우리는 ' 알 수 없습니다. '도 관련이 있습니다. 변경 한 내용을 질문에 추가해 주시겠습니까?
  • “경로를 추가했습니다”는 내용을 $PATH에 추가했음을 의미합니까? .bashrc를 변경하셨습니까? .profile.bashrc를 게시 할 수 있습니까?
  • 참조 stackoverflow.com/questions/8805839/bad-modifier-in
  • 거의 추측 : $가 포함 된 경로와 셸을 추가했습니다. $를 특수 문자로 해석합니다.
  • $ PATH 및 .bashrc에 항목을 추가 한 것을 기억합니다. 내 .profile과 .bashrc를 어떻게 볼 수 있습니까? Mark, 해당 게시물을보고 다음과 같은 작업을 시도했지만 ' 작동하지 않았습니다.

답변

셸로 bash를 사용하지 않고 (t)csh :

> csh % PATH="${PATH:/blah}" Bad : modifier in $ (/). 

대신 bash를 사용하려는 경우 chsh 또는 시스템 관리자에게 변경을 요청하세요.

bash에서 : 중괄호 안에 넣으십시오. { } 이는 수정 자

를 의미합니다. em>이 변수에 적용됩니다. csh에서는 수정자를 적용하는 데 중괄호가 필요하지 않으며 그렇지 않으면 실제로 중괄호를 추가해야합니다. 필요 :가 수정자가이를 따르고 있음을 알리기를 원합니다.

댓글

  • 이것이 추측입니까? 아니면 사실? ' 말하기 어렵습니다.
  • @Wildcard bash에는 매우 다른 오류 메시지가 있습니다. 다음과 같이 표시됩니다. ' 구문 오류 : 피연산자 필요 (오류 토큰은 " / blah ") '. 대답을 좀 더 명확히했습니다.

답변

“:”를 이스케이프해야합니다. 따라서 cshrc 파일은 다음과 같아야합니다.

setenv PATH $PATH\:/path/to/add 

이후 할 수 있습니다.

source ~/.cshrc 

현재 터미널에 변경 사항을 적용합니다. 다음에 새 터미널을 열 때 자동으로 적용됩니다.

설명

  • (t) csh에서 더 정확한 구문은

. 또는 더 나은 set path = ($path:q /path/to/add) 또는 더 나은 tcsh : set -f path = ($path:q /path/to/add) 요소를 고유하게 유지합니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다