在另一个命令中执行命令

在另一个命令中执行命令

我正在尝试记录我的 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 后立即开始录制,或者根本不录制。

有什么想法正确的做法吗?

答案1

这里有不止一种解决方案:

可能有更多方法可以做到这一点,但恕我直言,最好的方法是使用该插件。

答案2

我找到了解决方案。看来 ttygif 允许您使用带有标志 -e 的启动命令所以这就足够了

ttyrec file_name -e "tmux a"

或者就我而言

record-session -e "tmux a -t my_session"

相关内容