Bash
腳本完成後終止 tmux 會話
我有一個
bash
腳本,用於在tmux
會話中執行腳本。它看起來像這樣:#!/bin/bash session="myjob" tmux new-session -d -s $session tmux send-keys 'myscript' 'C-m'
問題是
myscript
完成後,會話myjob
仍然存在。我想在myscript
完成後自動殺死它。我試過了:#!/bin/bash session="myjob" tmux new-session -d -s $session tmux send-keys 'myscript' 'C-m' tmux kill-session -t $session
但這
myscript
完全跳過並直接終止會話。
你應該能夠做到:
tmux send-keys 'exec myscript' 'C-m'
這樣,shell 將
exec
成為腳本(即,myscript
將替換 shell 程序,而不是從一個孩子開始)。然後,當該程序終止時,它將是tmux
執行的程序,因此tmux
將在它之後進行清理。