2016-08-10 2 views
0

나는 bash 스크립팅을 처음 접하기가 쉽습니다. 그리고 사용자가 어떤 프로그램과 함께 주어진 파일 (/ etc/hosts)을 열 때마다 함수를 실행할 스크립트를 만들어야합니다.파일이 bash에서 열리는시기를 감지하십시오.

파일을 열 때 스크립트를 어떻게 검색합니까?

while inotifywait -e open /etc/hosts 
do 
    echo 'hosts was opened!' 
done 

있습니다 (@TobySpeight 위의 댓글에서 언급 한 바와 같이) 설치하여 inotify-tools 패키지가있는 경우는 다음과 같이 뭔가를 할 수 있도록

+3

http://superuser.com/questions/181517/how-to-execute-a-command-whenever-a-file-changes –

+0

@MarcYoung : 좋은 발견은 참으로 – sjsam

+0

리눅스가 제공하는 [inotify를 (HTTP ://man7.org/linux/man-pages/man7/inotify.7.html) 시스템은 이런 종류의 것들을 요구하지만 쉘 스크립트에서 쉽게 도달 할 수는 없다. ... – gilez

답변

0

는, 당신은, 당신에게 inotifywait 명령을 사용할 수 있습니다 많은 옵션 ... RTFM ...보고 싶은 파일을 선택하는 것.

나는 추측하고있다. 그러나 나는 내 코드에 경쟁 조건이 있다고 생각한다. 스크립트가 echo 명령을 실행하는 동안 파일을 열면 알 수 없으며 루프를 돌리는 동안 놓칠 수 있습니다. 어쨌든 그건 중요하지 않습니다.

관련 문제