.bashrc에 tmux 프로그램(터미널 멀티플렉서)을 시작하는 섹션이 있습니다.
그러나 tmux 프로그램이 설치되지 않은 경우(새 컴퓨터를 설정한다고 가정) 이를 .bashrc 파일에 넣으면 터미널 창이 성공적으로 열리지 않습니다.
물론 tmux를 설치하면 이 문제가 해결될 수 있지만 그것은 내 문제는 아니다.
tmux가아니요설치 후 충돌이 발생하지 않거나 오류 메시지가 표시됩니까?
현재 나는 다음을 가지고 있습니다:
if [[ ! $TERM =~ screen ]]; then
exec tmux
fi
나는 다음과 같은 것을 원합니다 :
if tmux; then
if [[ ! $TERM =~ screen ]]; then
exec tmux
fi
fi
하지만 이것은 나에게 준다
The program 'tmux' is currently not installed. You can install it by typing:
sudo apt-get install tmux
적어도 창을 닫는 대신 터미널 프롬프트가 표시되지만! 또한 tmux가 설치된 경우 새 터미널 창을 열어도 오류가 발생하지 않거나 문제가 발생하지 않습니다.
답변1
다음 명령을 사용하여 type
컴퓨터에 실행 파일이 있는지 확인할 수 있습니다.
if [ -n "$(type -P tmux)" ]; then
...tmux is installed...
else
...tmux isn't installed...
fi
나는 종종 다음 코드 조각을 사용하여 이를 수행합니다.
$ [ -n $(type -P tmux) ] && echo "installed" || echo "not installed"
installed
-n
(비어 있지 않은 문자열), (빈 문자열) -z
의 대안을 사용하여 가짜로 만들 수 있습니다.
$ [ -z $(type -P tmux) ] && echo "installed" || echo "not installed"
not installed
답변2
또는 시작할 실행 파일을 결정하려는 경우 다음을 수행할 수 있습니다.
executable=$(type -P tmux)
executable=${executable:-xterm} # For example
exec $executable
확장 프로그램은 이전에 아무 것도 할당되지 않은 경우에만 var=${var:-string}
"string" 값을 할당합니다 .var
var