Answers:
快捷方式:⌥⌘ A或:
Edit -> Marks and Annotations -> Alerts -> Alert on next mark
:iTerm
从字面上看(在右上角)您的终端。命令完成后,它将联系Notification Center
。
我们已经启动了命令。我们低估了完成所需的时间,我们不想取消它,我们拒绝坐下来观看。例如brew update
,很长一段时间后!
iTerm2 -> Install Shell Integration
请注意,在重新启动iTerm2之前,集成不会显示通知。
您可以在任何命令后添加以下任意一项,并在命令与命令之间添加分号:
afplay /System/Library/Sounds/Ping.aiff -v 2
osascript -e 'beep 3'
tput bel
或者,如果您喜欢通知中心
osascript -e 'display notification "Lorem ipsum dolor sit amet" with title "Title"'
您也可以在配置文件中创建一个别名,notify
并在命令末尾添加别名。因此,在您的登录配置文件中
alias notify="tput bel"
然后
sleep 10; notify
或者,如果您启动了命令并且该命令“挂起”,则只需键入notify
并点击Enter
,notify
命令完成后,它将在最后运行您的别名,例如
sleep 20
# wait 5 seconds before realising this will take 20 seconds
notify<Enter>
osascript -e 'display notification "Task finished" with title "Terminal"'
我似乎得到这个错误2015-05-04 12:34:23.227 osascript[30467:1130887] Error loading /Users/mmarotta/Library/ScriptingAdditions/List & Record Tools.osax/Contents/MacOS/List & Record Tools: dlopen(/Users/mmarotta/Library/ScriptingAdditions/List & Record Tools.osax/Contents/MacOS/List & Record Tools, 262): no suitable image found. Did find:
/Users/mmarotta/Library/ScriptingAdditions/List & Record Tools.osax/Contents/MacOS/List & Record Tools: no matching architecture in universal wrapper osascript: OpenScripting.framework - scripting addition "/Users/mmarotta/Library/ScriptingAdditions/List & Record Tools.osax" declares no loadable handlers.
osascript -e 'display notification "Hello"'
-通过从此处专门复制和粘贴吗?
而且您随时可以使用 say
命令。
通常,当您在终端中运行很长的进程并想要更新时,只需使用此命令即可说出诸如done
或error
或之类的内容bazinga
。
mvn clean install; say done
此命令将构建一个Java spring应用程序,并且需要很长时间,并且done
在该过程完成后会显示出来。
iTerm2
支持Growl
通知。您可以在每个配置文件设置中将其打开。
在Preferences…
->中选择一个配置文件Profiles
。然后在Terminal
选项卡中有一个选项Enable Growl Notifications
。
请记住,还要iTerm
在Growl
首选项中启用通知。
如果您想获得给定流程的通知,可以尝试使用Triggers
。您在中定义触发器Advanced
配置文件设置的标签中。这样,您可以将Growl通知分配给流程的特定输出(regexp)。
例如,您可以这样做:
$ mycommand; echo "end-of-my-process"
并将触发器连接到“我的进程结束”消息。
更新资料
在iTerm2.com上了解有关触发器的更多信息。
[download] 100% of 40.13MiB in 00:13
但完成的每个文件都会重复此行。我要为“进程结束”字符串输入什么?当我的默认shell提示~ >
再次出现时,我可以触发吗?
iTerm
发送有关新终端输出,终端输出结束的通知。这可以用于某些过程。我建议的是所有流程的工作方式。“我的进程结束”消息可以是任何唯一的字符串。它的独特之处在于它不会被您的过程打印。字面上可能是“我的进程结束”文本。您必须在触发器定义中输入完全相同的字符串,并向其附加通知。我不知道它是否可以与shell提示一起使用。您必须自己尝试。
echo "end-of-""my-process"
引号。仅当过程完成时,它才会匹配“我的过程结束”文本。
您也可以使用terminal-notifier
使用mac os系统的通知。要通过Home brew安装它,只需:
$ brew install terminal-notifier
然后,如果您想在完成工作/流程后显示通知,请使用类似以下的内容
$ <your job/process command> && echo 'Completed' | terminal-notifier -sound default
像这样的显示:
您还可以更改声音和通知图标。github repo中的更多信息:https : //github.com/julienXX/terminal-notifier
安装iTerm2 Shell集成
curl -L https://iterm2.com/shell_integration/install_shell_integration_and_utilities.sh | bash
执行您的命令并连接关注应用程序,例如
./task && ~/.iterm2/it2attention once
作业完成后,它将使iTerm应用反弹其图标。
您还有其他注意选项:
$ .iterm2/it2attention -h
Usage:
it2attention start
Begin bouncing the dock icon if another app is active
it2attention stop
Stop bouncing the dock icon if another app is active
it2attention once
Bounce the dock icon once if another app is active
it2attention fireworks
Show an explosion animation at the cursor