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

심벌 마크

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

<이전 | 목차 | 다음>

합산

위치 매개변수를 추가하면 이제 상당히 기능적인 스크립트를 작성할 수 있습니다. 간단하고 반복적인 작업의 경우, 위치 매개변수를 사용하면 사용자 인터페이스에 배치할 수 있는 매우 유용한 셸 함수를 작성할 수 있습니다. .bashrc 파일.

W e sys_info_page 프로그램은 더욱 복잡하고 정교해졌습니다. 최근 변경 사항을 강조하여 전체 목록을 보여드립니다.



#! / bin / bash


# sys_info_page: 시스템 정보 페이지를 출력하는 프로그램


프로그램 이름=$(기본 이름 $0)

TITLE="$HOSTNAME에 대한 시스템 정보 보고서" CURRENT_TIME=$(date +"%x %r %Z")

TIMESTAMP="$USER가 $CURRENT_TIME에 생성함"


report_uptime() { cat <<- _EOF_

시스템 가동 시간

$(가동시간)

_EOF_ 리턴

#! / bin / bash


# sys_info_page: 시스템 정보 페이지를 출력하는 프로그램


프로그램 이름=$(기본 이름 $0)

TITLE="$HOSTNAME에 대한 시스템 정보 보고서" CURRENT_TIME=$(date +"%x %r %Z")

TIMESTAMP="$USER가 $CURRENT_TIME에 생성함"


report_uptime() { cat <<- _EOF_

시스템 가동 시간

$(가동시간)

_EOF_ 리턴


}


report_disk_space() { cat <<- _EOF_

디스크 공간 활용도

$(df -h)

_EOF_ 리턴

}


Report_home_space () {

if [[ $(id -u) -eq 0 ]]; 그런 다음 고양이 <<- _EOF_

홈 공간 활용도(모든 사용자)

$(du -sh /home/*)

_EOF_

그렇지 않으면

고양이 <<- _EOF_

집 공간 활용도($USER)

$(du -sh $HOME)

_EOF_

안녕 반환

}


용법 () {

echo "$PROGNAME: 사용법: $PROGNAME [-f 파일 | -i]" return

}


write_html_page() { cat <<- _EOF_

$제목

$제목

$타임스탬프

$(보고서_가동시간)

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

$(리포트_홈_스페이스)

_EOF_ 리턴

}


# 프로세스 명령줄 옵션

}


report_disk_space() { cat <<- _EOF_

디스크 공간 활용도

$(df -h)

_EOF_ 리턴

}


Report_home_space () {

if [[ $(id -u) -eq 0 ]]; 그런 다음 고양이 <<- _EOF_

홈 공간 활용도(모든 사용자)

$(du -sh /home/*)

_EOF_

그렇지 않으면

고양이 <<- _EOF_

집 공간 활용도($USER)

$(du -sh $HOME)

_EOF_

안녕 반환

}


용법 () {

echo "$PROGNAME: 사용법: $PROGNAME [-f 파일 | -i]" return

}


write_html_page() { cat <<- _EOF_

$제목

$제목

$타임스탬프

$(보고서_가동시간)

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

$(리포트_홈_스페이스)

_EOF_ 리턴

}


# 프로세스 명령줄 옵션

영상

합산


대화형=

파일 이름=


while [[ -n $1 ]]; $1을 case로 처리합니다.

-f | --파일)

변화

파일 이름=$1

;;

대화형=

파일 이름=


while [[ -n $1 ]]; $1을 case로 처리합니다.

-f | --파일)


-i | --interactive) 대화형=1

;;

-h | --help) 사용법 종료

;;

*) 사용법 >&2

1 번 출구

;;

esac 시프트


# 대화형 모드


if [[ -n $interactive ]]; then while true; do

read -p "출력 파일 이름을 입력하세요: " filename if [[ -e $filename ]]; then

read -p "'$filename'이 존재합니다. 덮어쓰시겠습니까? [y/n/q] > " case $REPLY in

Y|y) 휴식

;;

Q|q) echo "프로그램이 종료되었습니다." 종료

;;

*) 계속하다

;;

그 C

elif [[ -z $filename ]]; 그런 다음 계속합니다.

그렇지 않으면

하다

fi

fi


# 출력 HTML 페이지


if [[ -n $파일 이름 ]]; 그러면

$filename && [[ -f $filename ]];을 터치하면 write_html_page > $filename이 됩니다.

그렇지 않으면

-i | --interactive) 대화형=1

;;

-h | --help) 사용법 종료

;;

*) 사용법 >&2

1 번 출구

;;

esac 시프트


# 대화형 모드


if [[ -n $interactive ]]; then while true; do

read -p "출력 파일 이름을 입력하세요: " filename if [[ -e $filename ]]; then

read -p "'$filename'이 존재합니다. 덮어쓰시겠습니까? [y/n/q] > " case $REPLY in

Y|y) 휴식

;;

Q|q) echo "프로그램이 종료되었습니다." 종료

;;

*) 계속하다

;;

그 C

elif [[ -z $filename ]]; 그런 다음 계속합니다.

그렇지 않으면

하다

fi

fi


# 출력 HTML 페이지


if [[ -n $파일 이름 ]]; 그러면

$filename && [[ -f $filename ]];을 터치하면 write_html_page > $filename이 됩니다.

그렇지 않으면


echo "$PROGNAME: '$filename' 파일을 쓸 수 없습니다" >&2 종료 1

그렇지 않으면

write_html_page

fi

echo "$PROGNAME: '$filename' 파일을 쓸 수 없습니다" >&2 종료 1

그렇지 않으면

write_html_page

fi


아직 끝나지 않았습니다. 할 수 있는 일과 개선할 부분이 아직 많이 남아 있습니다.


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