현재 명령 프롬프트 텍스트를 캡처하는 명령

현재 명령 프롬프트 텍스트를 캡처하는 명령

나는 그것을 사용하고 있다https://github.com/magicmonty/bash-git-prompt내 bash 프롬프트를 사용자 정의하십시오. 그래서 내 프롬프트는 대개 다음과 같습니다.

✔ ~/dotfiles [master|⚑ 1] 15:00 $

이 프롬프트 텍스트를 캡처하는 명령이 있습니까? [master|⚑ 1]bash-git-prompt 코드를 새 쉘 스크립트에 복사하지 않고 텍스트를 원합니다 .

답변1

4.x를 사용하는 경우 bash변수로 캡처할 수 있습니다.

prompt="${PS1@P}"

아니면 그냥 출력하여 파이프에 캡처하세요.

echo "${PS1@P}"

script다음을 사용하여 터미널 세션(표시된 프롬프트 포함)을 파일로 캡처 할 수도 있습니다 .

$ script foo
user@host:~
$ exit
$ cat foo
Script started on Thu Jul  6 12:59:45 2017
user@host:~
$ exit
exit
Script done on Thu Jul  6 12:59:48 2017

프롬프트를 더욱 아름답게 만드는 모든 ANSI 색상 코드는 여기에 표시되지 않습니다.

답변2

여기에서 좋은 해결책을 찾았습니다https://stackoverflow.com/a/44090232/55948

eval 'echo -en "'$PS1'"'

관련 정보