프로그램이 열려 있는 쉘에 대해 스스로 알릴 수 있습니까?

프로그램이 열려 있는 쉘에 대해 스스로 알릴 수 있습니까?

CLI 프로그램을 작성할 계획입니다. CLI 프로그램은 예약된 시간에 실행될 수 있어야 합니다.

프로그램이 어떻게든 사용자의 쉘에 알릴 수 있습니까? mail읽지 않은 이메일이 있다고 알려주는 것과 비슷합니까 ?

답변1

귀하의 질문을 이해한 경우 GUI 알림을 보내려면 다음을 사용할 수 있습니다.

  • notify-send
  • xmessage
  • zenity

자세한 내용은

답변2

메일 확인 구현다양한 껍질에. 사용자가 사용할 수 있는 셸에 추가 검사를 추가하고 싶지 않을 수도 있습니다. 유사한 검사를 수행하는 가장 간단한 방법은 알림을 표시해야 할 때 적절한 출력을 생성하는 도구를 구현하고 사용자의 셸 시작 스크립트에서 도구를 실행하는 것입니다.

이에 대한 많은 예가 있습니다. 시스템을 확인하면 /etc/profile.d영감을 얻을 수 있는 유사한 도구를 찾을 수 있습니다. 예를 들어, RHEL 등의 시스템에서는 abrt사용자가 로그인할 때 abrt-console-notification.sh상태를 표시하는 스크립트를 찾을 수 있습니다.abrt

답변3

write usercron 작업에서 시도해 보세요. 넣는 것과 같은

x y z * * write user%message%

당신의 crontab.

하지만 참고하세요: 이 사용자는 알림을 받으려면 로그인해야 합니다. GUI 아래의 간단한 터미널 세션은 그렇지 않습니다.

(최근) bash또는 유사한 쉘을 사용하는 경우 PROMPT_COMMAND임의의 파일을 사용하여 설정하십시오.

PROMPT_COMMAND='[ -f /tmp/msg ] && cat /tmp/msg && rm /tmp/msg'

crontab다음과 같은 항목이 있습니다 .

x y z * * echo message > /tmp/msg

"메시지"는 다음 프롬프트 전에 한 번 표시됩니다.

관련 정보