여러 줄 변수(tcsh 프롬프트)를 다른 변수에 할당

여러 줄 변수(tcsh 프롬프트)를 다른 변수에 할당

tcsh의 경우 여러 줄 프롬프트가 있습니다.

set prompt = "%/\\
%n@%m[%h]% "

첫 번째 줄에는 cwd가 표시되고 두 번째 줄에는 user/host가 표시됩니다. 그러나 이 방법으로는 재현할 수 없습니다.

setenv X "$prompt"
Unmatched ".

virtualenv를 사용하여 Python용 가상 환경을 만들 때 자동으로 "활성화" 스크립트를 생성하고 스크립트의 일부로 현재 프롬프트를 저장하고 가상 환경 환경 정보를 포함하도록 변경하기 때문에 이것이 문제가 됩니다. "비활성화" 스크립트가 호출되면 프롬프트가 복원됩니다.

여러 줄 변수를 다른 변수에 할당하는 방법이 있습니까?

프롬프트 업데이트를 위한 별명이 있기 때문에 활성화 스크립트가 호출되면 문제가 발생할 것이라고 생각하기 때문에 여러 줄 프롬프트를 버려야 할 것 같습니다(오래 전에 누군가로부터 이것을 얻었습니다). 내 .cshrc 파일에서:

alias set_prompt 'set prompt = "%/\\
%n@%m[%h]% "'

alias cd 'cd \!*; set_prompt'

set_prompt

이동 시 프롬프트가 업데이트되도록 하는 더 좋은 방법이 있습니까? 하지만 활성화 스크립트를 사용하여 프롬프트를 변경할 수도 있습니까? 다음은 참조용으로 자동 생성된 활성화 스크립트의 일부입니다.

set _OLD_VIRTUAL_PROMPT="$prompt"

if ("" != "") then
    set env_name = ""
else
    if (`basename "$VIRTUAL_ENV"` == "__") then
        # special case for Aspen magic directories
        # see http://www.zetadev.com/software/aspen/
        set env_name = `basename \`dirname "$VIRTUAL_ENV"\``
    else
        set env_name = `basename "$VIRTUAL_ENV"`
    endif
endif
set prompt = "[$env_name] $prompt"

감사해요.

관련 정보