0

我正在尝试制作一个启动 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 中的作业控制有关,但我无法弄清楚。我基本上需要一种方法来等待一两秒钟,然后测试它是否正在运行或其他什么。

4

1 回答 1

0

好的,我想出了另一种方法:

do shell script "nohup /Applications/Alacritty.app/Contents/MacOS/alacritty -e /usr/local/bin/tmux new -A -s general > /dev/null 2>&1 &"

这结合了两者。

于 2021-01-04T08:46:36.380 回答