我正在尝试制作一个启动 Alacritty 和 tmux 的苹果脚本。我在运行 Alacritty 时运行除了脚本之外的所有部分,并且我希望它在运行后不久退出(在这两种情况下,存在 tmux 会话和不存在时)。
set t to (time of (current date))
do shell script "nohup /Applications/Alacritty.app/Contents/MacOS/alacritty -e /usr/local/bin/tmux attach || tmux new -s general > /dev/null 2>&1 &"
if (time of (current date)) < t + 1 then
do shell script "nohup /Applications/Alacritty.app/Contents/MacOS/alacritty -e /usr/local/bin/tmux new -s general > /dev/null 2>&1 &"
end if
当没有 tmux 会话时,这就像我希望的那样工作,但它会一直运行到我退出 Alacritty。
我认为解决方案将与 AppleScript 中的作业控制有关,但我无法弄清楚。我基本上需要一种方法来等待一两秒钟,然后测试它是否正在运行或其他什么。