2017-04-11 1 views
0

저는 PuTTY를 통해 Windows 10 PC에서 Linux 컴퓨터에 액세스하고 있습니다. 나는 다음과 같이 $의 PS1를 설정하여 '$ PWD'에 퍼티 (bash는) 창 제목을 설정 한 :PuTTY : 리눅스 창 - 기능을하는 동안 창 제목을 업데이트하는 방법?

PS1=\[\033]0;\w\007\]\[\033[1;33m\][\w]$\[\033[0m\] 

이 잘 작동 - 나는 쉘에서 디렉토리를 변경할 때마다, 바로 제목 업데이트 : enter image description here

그러나, 나는 제목이 함수가 완료 될 때까지 업데이트되지 않습니다 (아래로) 함수에서 디렉토리를 변경하는 경우 :

function func() { 
    cd /share/testing_area/runtests ; 
    python Script.py; 
} 

enter image description here enter image description here

스크립트 중에 업데이트 할 제목을 얻는 방법이 있습니까?

답변 :-) 사전에

감사 : 최종 스크립트 버전 :

function func() { 
    cd /share/testing_area/runtests 
    export PS1="\[\e[1;33m\][\w]$\[\e[0m\]" # REMOVE TITLE SPEC FROM $PS1 
    echo -ne "\e]2;$PWD\a" # SET TITLE TO CURRENT VALUES (USES $PWD as \w doesn't work for echo 
    python Script.py; 
    export PS1="\[\033]0;\w\007\]\[\033[1;33m\][\w]$\[\033[0m\]" # RE-ADD TITLE SPEC TO $PS1 
} 

답변

1

당신은 프롬프트에서 퍼티의 자동 제목을 사용하여 제목을 변경합니다. 불행하게도 프롬프트는 다시 볼 수있게되면 일반적으로 적용됩니다. 즉, 기능이나 스크립트가 끝나기 전에가 아닙니다.

동적으로 제목을 변경하려면 this solution instead을 권하고 싶습니다.

+0

$ PS1의 제목 표시 줄을 '설정 해제'해야합니다 (예 : PS1 = "\ [\ 033 [1; 33m \] [\ 0] [0m \ ] "), 함수에서 'echo -ne"\ 033] 0; "TEST"\ 007 "'명령을 사용하십시오. 고마워요 :-) –

+0

"테스트"보다는 $ PWD의 값을 넣으려면 $ PWD를 지정해야합니다. - '\ w'($ PS1 설정에서 사용)는 echo와 작동하지 않습니다. 또한 \ e33과 \ 007을 각각 \ e와 \ a로 대체했습니다.'echo -ne "\ e"2; $ PWD \ a "' –

관련 문제