OnWorks Linux 및 Windows 온라인 워크스테이션

심벌 마크

워크스테이션용 무료 온라인 호스팅

<이전 | 내용 | 다음>

스크립트 실행 유지

프로그램을 개발하는 동안 프로그램을 실행 가능한 상태로 유지하는 것이 유용합니다. 이렇게 하고 자주 테스트하면 개발 프로세스 초기에 오류를 감지할 수 있습니다. 이렇게 하면 문제 디버깅이 훨씬 쉬워집니다. 예를 들어, 프로그램을 실행하고 약간 변경한 다음 프로그램을 다시 실행하여 문제를 발견하면 가장 최근의 변경 사항이 문제의 원인일 가능성이 매우 높습니다. 다음과 같은 빈 함수를 추가하여 스텁 프로그래머의 입장에서는 초기 단계에서 프로그램의 논리적 흐름을 확인할 수 있습니다. 스텁을 생성할 때 프로그래머에게 피드백을 제공하여 논리적 흐름이 수행되고 있음을 보여주는 내용을 포함하는 것이 좋습니다. 이제 스크립트의 출력을 살펴보면 다음과 같습니다.



[me@linuxbox ~]$ sys_info_page

Twin2에 대한 시스템 정보 보고서

[me@linuxbox ~]$ sys_info_page

Twin2에 대한 시스템 정보 보고서


Linuxbox에 대한 시스템 정보 보고서

03년 19월 2009일 오후 04시 02분 10초(EDT)에 생성됨


Linuxbox에 대한 시스템 정보 보고서

03년 19월 2009일 오후 04시 02분 10초(EDT)에 생성됨



타임스탬프 이후 출력에 빈 줄이 몇 개 있는 것을 볼 수 있지만 원인을 확신할 수 없습니다. 일부 피드백을 포함하도록 기능을 변경하면 다음과 같습니다.



Report_uptime () {

echo "report_uptime 함수가 실행되었습니다."

return

}


Report_disk_space () {

echo "report_disk_space 함수가 실행되었습니다."

return

}


Report_home_space () {

echo "report_home_space 함수가 실행되었습니다."

return

}

Report_uptime () {

echo "report_uptime 함수가 실행되었습니다."

return

}


Report_disk_space () {

echo "report_disk_space 함수가 실행되었습니다."

return

}


Report_home_space () {

echo "report_home_space 함수가 실행되었습니다."

return

}


스크립트를 다시 실행하십시오.



[me@linuxbox ~]$ sys_info_page

Linuxbox에 대한 시스템 정보 보고서

Linuxbox에 대한 시스템 정보 보고서

내가 생성한 03년 20월 2009일 오전 05시 17분 26초 EDT report_uptime 함수가 실행되었습니다.

report_disk_space 함수가 실행되었습니다. report_home_space 함수가 실행되었습니다.

[me@linuxbox ~]$ sys_info_page

Linuxbox에 대한 시스템 정보 보고서

Linuxbox에 대한 시스템 정보 보고서

내가 생성한 03년 20월 2009일 오전 05시 17분 26초 EDT report_uptime 함수가 실행되었습니다.

report_disk_space 함수가 실행되었습니다. report_home_space 함수가 실행되었습니다.

스크립트 실행 유지


이제 실제로 세 가지 기능이 실행되고 있음을 알 수 있습니다.

함수 프레임워크가 제대로 작동하고 있으므로 이제 일부 함수 코드를 구체화할 시간입니다. 첫째, 보고_가동 시간 기능:


Report_uptime () {

고양이 <<- _EOF_

시스템 가동 시간

$(가동 시간)

_EOF_

return

}

Report_uptime () {

고양이 <<- _EOF_

시스템 가동 시간

$(가동 시간)

_EOF_

return

}


꽤 간단합니다. 섹션 헤더와 출력을 출력하기 위해 here 문서를 사용합니다. 가동 시간 명령, 둘러싸인 명령의 형식을 유지하기 위한 태그입니다. 그만큼 보고_디스크_공간 기능은 비슷합니다:


Report_disk_space () {

고양이 <<- _EOF_

디스크 공간 활용도

$(df -h)

_EOF_

return

}

Report_disk_space () {

고양이 <<- _EOF_

디스크 공간 활용도

$(df -h)

_EOF_

return

}


이 함수는 df -h 디스크 공간의 크기를 결정하는 명령입니다. 마지막으로 우리는 보고_집_공간 기능:


Report_home_space () {

고양이 <<- _EOF_

홈 공간 활용

$(du -sh /home/*)

_EOF_

return

}

Report_home_space () {

고양이 <<- _EOF_

홈 공간 활용

$(du -sh /home/*)

_EOF_

return

}


우리는을 사용하여 du 명령 -쉬 이 작업을 수행하기 위한 옵션입니다. 그러나 이것이 문제의 완전한 해결책은 아닙니다. 일부 시스템(예: Ubuntu)에서는 작동하지만 다른 시스템에서는 작동하지 않습니다. 그 이유는 많은 시스템이 홈 디렉토리의 권한을 누구나 읽을 수 없도록 설정하기 때문입니다. 이는 합리적인 보안 조치입니다. 이들 시스템에서는 보고_집_공간 기능은 쓰여진 대로


영상

슈퍼유저 권한으로 스크립트를 실행하는 경우에만 작동합니다. 더 나은 해결책은 사용자의 권한에 따라 스크립트의 동작을 조정하도록 하는 것입니다. 이에 대해서는 다음 장에서 다루겠습니다.


.bashrc 파일의 셸 기능

쉘 기능은 별칭을 훌륭하게 대체하며 실제로 개인 용도로 작은 명령을 생성하는 데 선호되는 방법입니다. 별칭은 지원하는 명령과 셸 기능의 종류가 매우 제한적인 반면, 셸 기능은 스크립트로 작성할 수 있는 모든 것을 허용합니다. 예를 들어, 우리가 좋아했다면 보고_디스크_공간 스크립트용으로 개발한 쉘 함수를 사용하면 다음과 같은 유사한 함수를 만들 수 있습니다. ds 우리를 위해 .bashrc 파일 :

디에스() {

echo "$HOSTNAME의 디스크 공간 활용도" df -h

}


OnWorks의 최고 OS 클라우드 컴퓨팅: