Solaris에서 5초마다 명령을 시작하는 방법은 무엇입니까?

Solaris에서 5초마다 명령을 시작하는 방법은 무엇입니까?

ls -laSolaris에서 5초마다 명령을 시작하는 방법은 무엇입니까 ? . 비슷한 걸 찾고 있어요 watch -n 5 ls -la

답변1

다음을 사용하여 sleep스크립트를 만들 수 있습니다.이 티켓 기본적으로 다음과 같은 결과가 생성됩니다.

while true
do 
    ls -la
    sleep 5
done

언제든지 액세스하고 싶다면 화면에서 실행하거나 언제든지 참조할 수 있는 파일로 출력을 리디렉션할 수 있습니다(내 생각에는 screenwatch기본 Solaris 설치와 함께 설치되지 않기 때문입니다).

답변2

@Carpette 및 @AmitSanghvi의 두 가지 답변을 기반으로 합니다.

형태의 순환

while true
do
    ...
    sleep 5
done

우리 모두 알고 있듯이, 인터럽트를 사용하는 것은 매우 어렵습니다 Ctrl+C. 반면에 간격은 sleep키보드 인터럽트의 주요 대상입니다.

더 좋은 점은 다음과 같습니다.

while sleep 5
do
    ...
done

답변3

@Carpette의 이전 답변을 바탕으로 다음은 동일한 스크립트의 매개변수화된 버전입니다.

if [ $# -ne 2 ]; then
  echo "ERROR: Syntax is script <command> interval"
  exit
fi

while true
do
  eval "${1}"
  echo "
++++++++++++++++++++++++++++++++++++
"
  sleep $2
done

사용 예:

~/scripts/watch.sh "tail -10 /oracle/home/alert.log" 5

관련 정보