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

심벌 마크

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

<이전 | 내용 | 다음>

합산

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

당사의 sys_info_page 프로그램이 더욱 복잡해지고 정교해졌습니다. 다음은 가장 최근 변경 사항이 강조 표시된 전체 목록입니다.



#! / bin / bash


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


PROGNAME=$(기본 이름 $0)

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

TIMESTAMP="$USER에 의해 $CURRENT_TIME 생성됨"


Report_uptime () { 고양이 <<- _EOF_

시스템 가동 시간

$(가동 시간)

_EOF_ 반환

#! / bin / bash


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


PROGNAME=$(기본 이름 $0)

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

TIMESTAMP="$USER에 의해 $CURRENT_TIME 생성됨"


Report_uptime () { 고양이 <<- _EOF_

시스템 가동 시간

$(가동 시간)

_EOF_ 반환


}


report_disk_space () { 고양이 <<- _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 () { 고양이 <<- _EOF_

$TITLE

$TITLE

$TIMESTAMP

$(보고_가동시간)

$(report_disk_space)

$(report_home_space)

_EOF_ 반환

}


# 프로세스 명령줄 옵션

}


report_disk_space () { 고양이 <<- _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 () { 고양이 <<- _EOF_

$TITLE

$TITLE

$TIMESTAMP

$(보고_가동시간)

$(report_disk_space)

$(report_home_space)

_EOF_ 반환

}


# 프로세스 명령줄 옵션

영상

합산


대화형=

파일 이름=


동안 [[ -n $1 ]]; 1달러를 넣어라

-f | --파일)

변화

파일 이름=$1

;;

대화형=

파일 이름=


동안 [[ -n $1 ]]; 1달러를 넣어라

-f | --파일)


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

;;

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

;;

*) 사용법 >&2

1 번 출구

;;

에삭 시프트


# 대화형 모드


if [[ -n $interactive ]]; 그렇다면 사실이지만; 하다

read -p "출력 파일 이름 입력: " filename if [[ -e $filename ]]; 그 다음에

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

Y|y) 휴식

;;

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

;;

*) 계속하다

;;

그 C

elif [[ -z $파일명 ]]; 그럼 계속해

그렇지 않으면

하다

fi

fi


# HTML 페이지 출력


if [[ -n $파일명 ]]; 그 다음에

$filename && [[ -f $filename ]]을 터치하면; 그런 다음 write_html_page > $filename

그렇지 않으면

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

;;

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

;;

*) 사용법 >&2

1 번 출구

;;

에삭 시프트


# 대화형 모드


if [[ -n $interactive ]]; 그렇다면 사실이지만; 하다

read -p "출력 파일 이름 입력: " filename if [[ -e $filename ]]; 그 다음에

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

Y|y) 휴식

;;

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

;;

*) 계속하다

;;

그 C

elif [[ -z $파일명 ]]; 그럼 계속해

그렇지 않으면

하다

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 클라우드 컴퓨팅: