Terminal
在另一個命令中執行命令
我正在嘗試記錄我的 tmux 會話。我有一個
record-session
從 ttygif 執行命令的別名ttyrec ~/ttygif/files/last-session
。據我了解 ttygif 啟動新的終端實例並開始記錄它。通常我必須做$ record-session $ tmux a # Do something with tmux here # C-b D $ exit #to finish recording
但我想讓它更自動化一點,因為我不喜歡每次鍵入時它的記錄方式
tmux a
。我想創建一個別名來開始錄製,然後附加到 tmux 會話。我試過了:
record-session ; tmux a
(record-session ; tmux a)
record-session & tmux a
record-session && tmux a
record-session | tmux a
(tmux a ; record-session)
每個都沒有成功。這些命令中的每一個都在我關閉 tmux 或根本不記錄後立即開始記錄。
任何想法什麼是正確的方法?
我找到了解決方案。似乎 ttygif 允許您使用帶有標誌的啟動命令 -e 所以這就足夠了
ttyrec file_name -e "tmux a"
或者在我的情況下
record-session -e "tmux a -t my_session"
這裡有不止一種解決方案:
- 使用tmux-logging外掛。
- 使用 a
.bash_profile
將輸出記錄到腳本。- 如果您想使用
record-session
,您可以隨時使用tmuxinator來設置 ENV 並執行命令。可能有更多方法可以做到這一點,但恕我直言,最好的方法是使用該外掛。