GUI가 없는 시스템에서 시스템 시작(init) 직후 지정된 횟수만큼 메시지를 인쇄합니다. [반복]

GUI가 없는 시스템에서 시스템 시작(init) 직후 지정된 횟수만큼 메시지를 인쇄합니다. [반복]

특정 시스템 부팅 횟수(예: 1~2회 시스템 부팅)에 대해 메시지가 표시되기를 원합니다.

메시지를 어딘가에 저장하겠습니다. 아마도 변수에 있을 것입니다.

message='If you finished testing, make sure to remove the testing application.'!'

노트:

  • 저는 Ubuntu 서버 16.04를 사용하고 있으며 목표는 GUI가 없는 시스템을 위한 솔루션을 제공하는 것입니다.

  • 이 코드의 목적은 어떤 이유로 지금이 그 일을 하기에 좋은 시간인지 기억나지 않는 경우 특정 작업을 완료하도록 상기시키는 좋은 방법을 제공하는 것입니다.

  • 나는 RAM보다 "더 깊은" 변수를 저장해야 한다고 생각합니다. 아마도 제가 생성한 파일에 저장하거나 다른 방법으로 저장해야 할 것입니다. 나는 모른다.

  • Cron은 반복적이고 주어진 실행 횟수에 맞지 않기 때문에 좋지 않습니다.

  • 이는 전원이 꺼지거나/꺼지는 경우에 유용합니다. reboot중요한 작업을 상기시켜 줍니다.

밝히다

사용자가 컴퓨터를 켰을 때 메인 프롬프트가 나타난 순간, 이어서 제가 언급한 메시지가 나오는 상황을 설명하려고 합니다.

답변1

IMHO 아무도 보지 않으면 "시작 시" 수행할 필요가 없으므로 로그인의 일부로 만드는 것이 좋습니다... ~/.profile1) 테스트에서 응용 프로그램이 여전히 존재하는지, 2) 일부에서 확인할 수 있습니다. 마지막으로 경고한 후(예: /var/tmp에 있는 일부 파일의 타임스탬프를 확인하여) 지연 시간이 경과되었습니다. 이 경우 다시 경고합니다(및 표시 파일을 터치합니다).

"나를 괴롭히지 마세요" 스크립트를 사용하면 bash가 명령 프롬프트로 돌아올 때마다 이를 bash의 PROMPT_COMMAND 변수에 넣어 실행할 수도 있습니다.

답변2

시스템에 따라 cron을 사용할 수도 있습니다.@reboot

그러나 시스템 서비스 파일이 더 안정적인 접근 방식일 수 있습니다.

그래서:

의견에서 제안한대로 :서비스 파일...또는 그런 것...그리고...

이 스크립트는 다음과 같습니다.

#!/bin/bash
# Set _endcount to number of times you want to count minus one.
_endcount=2

if [ ! -f count.txt ]; then
   echo "1" > count.txt
   echo -e "No counter\nInitializing Counter"
   exit;
else 
   mycount=$( cat count.txt )
   if [ $mycount = $_endcount ]; then
      echo -e "If you finished testing, make sure to remove the testing application!"
      echo "1" > count.txt
   fi
   echo "Warning $mycount, Expires at $_endcount"
   count=$(($mycount + 1))
   echo "$count" > count.txt
fi

아니면 그런 것. 이 문제를 해결하는 방법은 약 15가지이고 이 스크립트를 작성하는 방법은 100가지입니다.

관련 정보