답변:
사용 osascript
. 예를 들면 :
osascript -e 'tell app "Finder" to display dialog "Hello World"'
"Finder"를 원하는 앱으로 대체합니다. 해당 앱이 백그라운드 인 경우 대화 상자도 백그라운드에 나타납니다. 항상 포 그라운드에 표시하려면 '시스템 이벤트'를 앱으로 사용하세요.
osascript -e 'tell app "System Events" to display dialog "Hello World"'
Mac OS X 힌트 에 대해 자세히 알아보십시오 .
이 명령을 사용하여 터미널에서 알림 센터 알림을 트리거합니다.
osascript -e 'display notification "Lorem ipsum dolor sit amet" with title "Title"'
알림 센터가있는 Mac OS X 버전을 사용하는 경우 터미널 알림 젬을 사용할 수 있습니다 . 먼저 설치하십시오 (필요할 수 있음 sudo
).
gem install terminal-notifier
그리고 간단히 :
terminal-notifier -message "Hello, this is my message" -title "Message Title"
이 OS X Daily post를 참조하십시오 .
brew install terminal-notifier
양조를 선호하는 경우에도 작동합니다.
이렇게하면 이전 응용 프로그램으로 포커스가 복원되고 답변이 비어있는 경우 스크립트가 종료됩니다.
a=$(osascript -e 'try
tell app "SystemUIServer"
set answer to text returned of (display dialog "" default answer "")
end
end
activate app (path to frontmost application as text)
answer' | tr '\r' ' ')
[[ -z "$a" ]] && exit
시스템 이벤트에 대화 상자를 표시하도록 지시 한 경우 이전에 실행되지 않았 으면 약간의 지연이있을 수 있습니다.
디스플레이 대화 상자에 대한 문서는 AppleScript 편집기에서 표준 추가 사전을 열거 나 AppleScript 언어 안내서를 참조하십시오 .
와 애플 스크립트 :
display notification "Notification text" with title "Notification Title" subtitle "Notification sub-title" sound name "Submarine"
와 단말 / 떠들썩한 파티 와 osascript
:
osascript -e 'display notification "Notification text" with title "Notification Title" subtitle "Notification sub-title" sound name "Submarine"'
부제목이나 소리를 강하게 받아들이지 않습니다.
와 애플 스크립트 :
display alert "Alert title" message "Your message text line here."
와 단말 / 떠들썩한 파티 와 osascript
:
osascript -e 'display alert "Alert title" message "Your message text line here."'
경고 줄 다음에 소리 를 재생하기 위해 bash 에 줄을 추가하십시오 .
afplay /System/Library/Sounds/Hero.aiff
AppleScript에 동일한 줄을 추가 하여 쉘 스크립트 가 작업을 수행하도록합니다.
do shell script ("afplay /System/Library/Sounds/Hero.aiff")
여기에서 선택할 수 있는 macOS 내장 사운드 목록 .
터미널 및 애플 스크립트 알림 에 대한 편리한 기사에서 의역 .
그리고 내 15 센트. 맥 터미널 등을위한 하나의 라이너는 MIN =을 무엇이든 그리고 메시지로 설정합니다.
MIN=15 && for i in $(seq $(($MIN*60)) -1 1); do echo "$i, "; sleep 1; done; echo -e "\n\nMac Finder should show a popup" afplay /System/Library/Sounds/Funk.aiff; osascript -e 'tell app "Finder" to display dialog "Look away. Rest your eyes"'
더 많은 명령을 결합하기위한 영감을주는 보너스 예제입니다. 이것은 메시지에 대해 맥도 대기 절전 모드로 전환됩니다 :) sudo 로그인이 필요합니다. 두 시간 동안 60 * 2만큼 곱하기도 마찬가지입니다.
sudo su
clear; echo "\n\nPreparing for a sleep when timers done \n"; MIN=60*2 && for i in $(seq $(($MIN*60)) -1 1); do printf "\r%02d:%02d:%02d" $((i/3600)) $(( (i/60)%60)) $((i%60)); sleep 1; done; echo "\n\n Time to sleep zzZZ"; afplay /System/Library/Sounds/Funk.aiff; osascript -e 'tell app "Finder" to display dialog "Time to sleep zzZZ"'; shutdown -h +1 -s
유사한 질문과 답변은 /superuser/246353/how-to-make-the-terminal-do-a-pop-up-alert-in-osx 에서 확인할 수 있습니다.
나는 여기에 이것을 해결하기 위해 스크립트를 만들었습니다 . 이를 위해 추가 소프트웨어가 필요하지 않습니다. 설치 :
brew install akashaggarwal7/tools/tsay
사용법 :
sleep 5; tsay
자유롭게 기여하십시오!