Tôi thích giữ bash_profiletrong kho git của mình và sao chép nó vào bất kỳ máy nào tôi có quyền truy cập shell. Vì tmuxhầu hết thời gian tôi có một user@hostchuỗi trong dòng trạng thái, thay vì điểm truyền thống của nó trong dấu nhắc shell.
Tuy nhiên, không phải tất cả các trang web tôi sử dụng đã tmuxcài đặt hoặc không phải lúc nào tôi cũng có thể sử dụng nó. Tôi muốn phát hiện khi tôi không tham gia tmuxphiên và điều chỉnh lời nhắc của mình cho phù hợp. Cho đến nay, giải pháp nửa nướng của tôi .bash_profiletrông giống như thế này:
_display_host_unless_in_tmux_session() {
# ???
}
export PROMPT_COMMAND='PS1=$(_display_host_unless_in_tmux_session)${REST_OF_PROMPT}'
(Kiểm tra mọi lúc có lẽ không phải là cách tiếp cận tốt nhất, vì vậy tôi mở các đề xuất để có cách làm tốt hơn. Kịch bản Bash không phải là sở trường của tôi.)
TMUX_PANElà tốt. Tôi chỉ nhận thấy vì công thức của bạn không hoạt động. Sau đó tôi phát hiện ra rằng tôi đã sử dụng quá mức (và sau đóunset) một biến trong tập lệnh shell mà tôi đang tìm nguồn cung ứng thông qua.profile.