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에 내가 생성했습니다.



출력 결과에서 타임스탬프 뒤에 빈 줄이 몇 개 있는 것을 볼 수 있지만, 그 원인을 확실히 알 수는 없습니다. 함수를 변경하여 피드백을 포함시키면 다음과 같습니다.



보고서_가동시간() {

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

return

}


보고서_디스크_공간() {

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

return

}


Report_home_space () {

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

return

}

보고서_가동시간() {

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

return

}


보고서_디스크_공간() {

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 함수가 실행되었습니다.

스크립트 실행 유지


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

함수 프레임워크가 구축되고 작동하므로 이제 함수 코드의 일부를 구체화할 차례입니다. 먼저, 가동시간 보고 기능:


보고서_가동시간() {

고양이 <<- _EOF_

시스템 가동 시간

$(가동시간)

_EOF_

return

}

보고서_가동시간() {

고양이 <<- _EOF_

시스템 가동 시간

$(가동시간)

_EOF_

return

}


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


보고서_디스크_공간() {

고양이 <<- _EOF_

디스크 공간 활용도

$(df -h)

_EOF_

return

}

보고서_디스크_공간() {

고양이 <<- _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 파일 :

ds() {

echo “$HOSTNAME의 디스크 공간 사용률” df -h

}


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