TCSH 프롬프트에 대괄호 누락에 대한 구문 오류가 표시됩니다.

TCSH 프롬프트에 대괄호 누락에 대한 구문 오류가 표시됩니다.

prompt다음 코드를 사용하여 내 컴퓨터에 설정했습니다.

set prompt = " %B%{\033[34m%}`hostname`: %c %D/%w %p :) %b"

내가 좋아하는 맞춤형 디스플레이가 출력됩니다. 다음과 같이 보입니다:

맞춤 프롬프트

echo $prompt그러나 명령을 실행하면 missing ]내가 올바르게 언급했다고 생각합니다.맞춤형 매뉴얼.

답변1

당신은 tcsh의 구문 분석 문제 중 하나를 발견했습니다. ~에서tcsh 매뉴얼:

변수 대체 ' " '로 묶거나 ':q' 수정자를 지정하지 않는 한, 변수 대체 결과는 명령 및 파일 이름으로 대체될 수 있습니다.

구문적으로 잘못된 파일 이름 대체 콘텐츠로 확장되는 변수가 있습니다. echo "$prompt"또는 를 입력하여 교체를 방지 할 수 있습니다 echo $prompt:q.

예:

% set prompt = " %B%{\033[34m%}`hostname`: %c %D/%w %p :) %b"
 host.example.com: ~ 12/Dec 9:46:12am :) echo $prompt:q | cat -v
 %B%{^[[34m%}host.example.com: %c %D/%w %p :) %b

관련 정보