alias
특정 프로그램을 시작하고 터미널 제목을 프로그램 이름으로 변경하는 쉘을 만들고 싶습니다 . 어떻게 해야 하나요?
혹시라도 우분투에서 터미널을 실행하고 SSH를 통해 데비안 서버에 연결하고 있습니다.
답변1
trap
Bash에서는 my의 마지막 줄에 다음 명령을 사용하여 .bashrc
모든 명령을 제목 표시줄에 표시합니다.
# trap commands and echo them to xterm titlebar. Must be last line.
trap 'echo -ne "\033]0;$BASH_COMMAND $USER@${HOSTNAME}>$(pwd)\007"' DEBUG
따라서 실행하면 명령을 실행하는 동안 sleep 10
제목 표시줄이 으로 변경되고 그 후에는 다시 원래대로 변경되는 것을 볼 수 있습니다 .sleep 10
user@host>pwd
답변2
대부분의 터미널은 특정 이스케이프 시퀀스를 헤더 변경 시도로 인식하므로 다음과 같이 작동합니다.
$ alias foo-with-title='echo -ne "\033]0;foo\007"; foo'
답변3
때로는 터미널 상단에 큰 UI가 있고 다른 창으로 들어가고 나가고 싶기 때문에 창이 열릴 때 창에 제목을 설정하는 것과 같은 것을 원합니다. .bashrc
별칭은 중간에 매개 변수를 허용하지 않기 때문에 파일 에 함수를 정의하게 되었습니다 (제가 올바르게 이해한 경우).
# Set the title for a terminal window:
# - first parameter is the title text
title() {
echo -ne "\033]0;$1\007"
}
title foo
그런 다음 명령줄에서 실행하거나 다른 명령으로 호출할 수 있는 를 사용하여 실행합니다 . 이것은 Xfce 터미널을 사용하는 Debian에서 작동합니다.