![Bash 쉘 스크립트에서 .bashrc 함수 호출](https://linux55.com/image/97792/Bash%20%EC%89%98%20%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8%EC%97%90%EC%84%9C%20.bashrc%20%ED%95%A8%EC%88%98%20%ED%98%B8%EC%B6%9C.png)
어느 것이 어느 것인지 추적할 수 있도록 터미널 탭의 이름을 지정할 수 있기를 원합니다. 이 기능을 찾았습니다 (여기) 그리고 그것을 내 안에 넣으세요 .bashrc
:
function set-title() {
if [[ -z "$ORIG" ]]; then
ORIG=$PS1
fi
TITLE="\[\e]2;$*\a\]"
PS1=${ORIG}${TITLE}
}
이제 탭 이름을 호출하면 set-title my new tab name
탭 이름이 예상대로 "새 탭 이름"으로 변경됩니다. 문제는 새 탭을 열고 set-title
. 내가 시도하는 방식은 다음과 같습니다.
gnome-terminal --geometry=261x25-0+0 --tab -e "bash -c 'set-title tab1; sleep 10'" --tab -e "bash -c 'set-title tab2; sleep 10"
그러나 이제 다음과 같은 오류 메시지가 나타납니다.
bash: set-title: command not found
나는 이것이 아직 기능을 이해하지 못하는 새로운 그놈 탭과 관련이 있다고 생각합니다 .bashrc
.
어떻게 작동하게 할 수 있나요?
답변1
함수를 사용하는 순간 set-title
이 함수를 이용해 명령어를 생성할 수 있으므로 set-title()
추가한 함수를 삭제 ~/.bashrc
하고 파일을 생성합니다 /usr/local/bin/set-title
.
#!/bin/bash
echo -ne "\033]0;$1\007"
chmod를 추가합니다 . 터미널을 다시 연 후 다음 을 chmod +x /usr/local/bin/set-title
통해 이 명령을 사용할 수 있습니다 .set-title TEST
/usr/local/bin/
$PATH
그런 다음 다음을 통해 새 탭을 만들 때 사용할 수 있습니다.
gnome-terminal --geometry=261x25-0+0 \
--tab -e "bash -c 'set-title TAB1; sleep 10'" \
--tab -e "bash -c 'set-title TAB2; sleep 10'"
/usr/local/bin/
해당 파일이 없으면 $PATH
set-title 명령의 절대 경로를 사용해 볼 수 있습니다.
--tab -e "bash -c '/usr/local/bin/set-title TAB1; sleep 10'"
답변2
.bashrc, .bash_profile, .profile 등의 init 스크립트를 실행하려면 --login
해당 옵션으로 gnome-terminal을 시작하십시오.