Có cách nào để tìm ra chỉ mục khung của một khung cụ thể trong Tmux không?
Tôi biết tôi có thể chạy một cái gì đó như:
tmux display-message -p "#{pane_index}"
nhưng điều đó chỉ hoạt động trên khung hoạt động. Tôi muốn nó hoạt động cho bất kỳ khung nào nó chạy. Thông thường tất nhiên là khó chạy tập lệnh trong khung không phải là khung hoạt động, nhưng bạn có thể nếu bạn sử dụng :set-window-option synchronize-panes
để đồng bộ hóa đầu vào giữa tất cả các bảng.
Làm thế nào tôi sẽ sử dụng này?
Trong công việc của mình, tôi cần kết nối với nhiều máy chủ giống hệt nhau trong một bộ cân bằng tải cùng một lúc, điều mà tôi làm với các bảng Tmux. Tôi thường bật tính năng panes đồng bộ hóa để cho phép tôi có bất cứ thứ gì tôi gõ giống hệt nhau được gửi đến từng khung cùng một lúc. Điều này làm việc tuyệt vời.
Điều tôi tìm thấy là đôi khi tôi muốn kết nối với các máy chủ và làm một cái gì đó duy nhất cho mỗi khung, sử dụng cùng một "chỉ mục khung" mỗi lần. Ví dụ: tôi sẽ chạy một lệnh như vậy:
ssh NODE_$(get_pane_number)
trong đó, khi được đồng bộ hóa và chạy trong mỗi khung, sẽ chạy các lệnh sau trong một cửa sổ với 4 ô:
ssh NODE_0
trong khung 0
ssh NODE_1
trong khung 1
ssh NODE_2
trong khung 2
ssh NODE_3
trong khung 3
Tất nhiên tôi có thể viết kịch bản này, nhưng nó chỉ hoạt động tốt trước khi tôi bắt đầu đồng bộ hóa đầu vào. Đôi khi tôi cũng muốn làm điều này sau khi tôi cũng bắt đầu đồng bộ hóa đầu vào.