Câu trả lời:
tmux \
new-session 'compass watch /path/to/project1/compass/' \; \
split-window 'compass watch /path/to/project2/compass/' \; \
detach-client
Các new-session
lệnh (mà tạo ra một mới tmux
phiên) và split-window
lệnh (mà chia cửa sổ hiện hành thành hai panes) trong tmux
diễn các lệnh shell tùy chọn để chạy. Điều detach-client
không rõ ràng ở cuối.
Nếu bạn muốn phân chia theo chiều ngang (hai tấm cạnh nhau), hãy sử dụng split-window -h
lệnh trên.
Khi gửi nhiều tmux
lệnh cho tmux
bạn cần tách chúng ra ;
. Các ;
nhu cầu cần được bảo vệ khỏi shell bằng cách trích dẫn / thoát khỏi nó ( ';'
, ";"
hoặc \;
), để ngăn shell giải thích nó như là kết thúc của tmux
lệnh.
Tôi đã chia toàn bộ thành các dòng riêng biệt để dễ đọc. Nếu bạn làm điều này trong một kịch bản (mà tôi khuyên dùng), hãy đảm bảo không có gì sau trận chung kết \
trên mỗi dòng.
Lắp lại với phiên với tmux a
, tmux attach
hoặc tmux attach-session
(đây là tất cả tương đương).
Các tmux
phiên sẽ kết thúc khi cả hai lệnh đã hoàn tất thi công.
Điều này không hiệu quả với tôi (tôi đã cố gắng làm một cái gì đó như 'ls -la'). Những gì đã làm là:
tmux new-session -d bash
tmux split-window -h bash
#sends keys to first and second terminals
tmux send -t 0:0.0 "<my-first-command>" C-m
tmux send -t 0:0.1 "<my-second-command>" C-m
tmux -2 attach-session -d
Điều này cho phép tôi chạy các công cụ khá chung chung và mặc dù nó trông xấu, nhưng nó khá chức năng.
Chỉ cần để nó ở đây trong trường hợp những người khác đang tìm kiếm điều tương tự.