рдСрдирд╡рд░реНрдХреНрд╕ рд▓рд┐рдирдХреНрд╕ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдСрдирд▓рд╛рдЗрди рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди

рдкреНрд░рддреАрдХ рдЪрд┐рдиреНрд╣

рд╡рд░реНрдХрд╕реНрдЯреЗрд╢рди рдХреЗ рд▓рд┐рдП рдореБрдлреНрдд рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдСрдирд▓рд╛рдЗрди

<рдкрд┐рдЫрд▓рд╛ | рд╡рд┐рд╖рдп-рд╕реВрдЪреА | рдЕрдЧрд▓рд╛>

рдЙрдкрд╕рдВрд╣рд╛рд░

рд╕реНрдерд┐рддреАрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде, рдЕрдм рд╣рдо рдХрд╛рдлреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд░рд▓, рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╕реНрдерд┐рддреАрдп рдкреИрд░рд╛рдореАрдЯрд░ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╢реЗрд▓ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╢реЗрд▓ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ .bashrc рдлрд╝рд╛рдЗрд▓.

рд╣рдорд╛рд░реЗ sys_info_page рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ рдкрд░рд┐рд╖реНрдХрд╛рд░ рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИред рдпрд╣рд╛рдВ рдПрдХ рд╕рдВрдкреВрд░реНрдг рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдирд╡реАрдирддрдо рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИ:



#! / Bin / bash


# sys_info_page: рд╕рд┐рд╕реНрдЯрдо рд╕реВрдЪрдирд╛ рдкреГрд╖реНрда рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдо


PROGNAME=$(рдЖрдзрд╛рд░рдирд╛рдо $0)

рд╢реАрд░реНрд╖рдХ='$HOSTNAME рдХреЗ тАЛтАЛрд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рд╕реВрдЪрдирд╛ рд░рд┐рдкреЛрд░реНрдЯ' CURRENT_TIME=$(рджрд┐рдирд╛рдВрдХ +'%x %r %Z')

TIMESTAMP='$USER рджреНрд╡рд╛рд░рд╛ $CURRENT_TIME рдЬреЗрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛'


рд░рд┐рдкреЛрд░реНрдЯ_рдЕрдкрдЯрд╛рдЗрдо () { рдмрд┐рд▓реНрд▓реА <<- _EOF_

рд╕рд┐рд╕реНрдЯрдо рдЙрдкрд░рд┐рдХрд╛рд▓

$(рдЕрдкрдЯрд╛рдЗрдо)

_рдИрдУрдПрдл_ рд╡рд╛рдкрд╕реА

#! / Bin / bash


# sys_info_page: рд╕рд┐рд╕реНрдЯрдо рд╕реВрдЪрдирд╛ рдкреГрд╖реНрда рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдо


PROGNAME=$(рдЖрдзрд╛рд░рдирд╛рдо $0)

рд╢реАрд░реНрд╖рдХ='$HOSTNAME рдХреЗ тАЛтАЛрд▓рд┐рдП рд╕рд┐рд╕реНрдЯрдо рд╕реВрдЪрдирд╛ рд░рд┐рдкреЛрд░реНрдЯ' CURRENT_TIME=$(рджрд┐рдирд╛рдВрдХ +'%x %r %Z')

TIMESTAMP='$USER рджреНрд╡рд╛рд░рд╛ $CURRENT_TIME рдЬреЗрдирд░реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛'


рд░рд┐рдкреЛрд░реНрдЯ_рдЕрдкрдЯрд╛рдЗрдо () { рдмрд┐рд▓реНрд▓реА <<- _EOF_

рд╕рд┐рд╕реНрдЯрдо рдЙрдкрд░рд┐рдХрд╛рд▓

$(рдЕрдкрдЯрд╛рдЗрдо)

_рдИрдУрдПрдл_ рд╡рд╛рдкрд╕реА


}


рд░рд┐рдкреЛрд░реНрдЯ_рдбрд┐рд╕реНрдХ_рд╕реНрдкреЗрд╕ () { рдмрд┐рд▓реНрд▓реА <<- _EOF_

рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдЙрдкрдпреЛрдЧ

$(рдбреАрдПрдл -рдПрдЪ)

_рдИрдУрдПрдл_ рд╡рд╛рдкрд╕реА

}


рд░рд┐рдкреЛрд░реНрдЯ_рд╣реЛрдо_рд╕реНрдкреЗрд╕ () {

рдпрджрд┐ [[ $(id -u) -eq 0 ]]; рдлрд┐рд░ рдмрд┐рд▓реНрд▓реА <<- _EOF_

рдЧреГрд╣ рд╕реНрдерд╛рди рдЙрдкрдпреЛрдЧ (рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛)

$(du -sh /home/*)

_рдИрдУрдПрдл_

рдЕрдиреНрдп

рдмрд┐рд▓реНрд▓реА <<- _EOF_

рдЧреГрд╣ рд╕реНрдерд╛рди рдЙрдкрдпреЛрдЧ ($USER)

$(рдбреБ -рд╢ $HOME)

_рдИрдУрдПрдл_

рдлрд╛рдИ рд╡рд╛рдкрд╕реА

}


рдЙрдкрдпреЛрдЧ () {

рдЗрдХреЛ "$PROGNAME: рдЙрдкрдпреЛрдЧ: $PROGNAME [-f рдлрд╝рд╛рдЗрд▓ | -i]" рд╡рд╛рдкрд╕реА

}


рд░рд╛рдЗрдЯ_рдПрдЪрдЯреАрдПрдордПрд▓_рдкреЗрдЬ () { рдХреИрдЯ <<- _рдИрдУрдПрдл_

$рд╢реАрд░реНрд╖рдХ

$рд╢реАрд░реНрд╖рдХ

$рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк

$(рд░рд┐рдкреЛрд░реНрдЯ_рдЕрдкрдЯрд╛рдЗрдо)

$(рд░рд┐рдкреЛрд░реНрдЯ_рдбрд┐рд╕реНрдХ_рд╕реНрдкреЗрд╕)

$(рд░рд┐рдкреЛрд░реНрдЯ_рд╣реЛрдо_рд╕реНрдкреЗрд╕)

_рдИрдУрдПрдл_ рд╡рд╛рдкрд╕реА

}


# рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдк

}


рд░рд┐рдкреЛрд░реНрдЯ_рдбрд┐рд╕реНрдХ_рд╕реНрдкреЗрд╕ () { рдмрд┐рд▓реНрд▓реА <<- _EOF_

рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдЙрдкрдпреЛрдЧ

$(рдбреАрдПрдл -рдПрдЪ)

_рдИрдУрдПрдл_ рд╡рд╛рдкрд╕реА

}


рд░рд┐рдкреЛрд░реНрдЯ_рд╣реЛрдо_рд╕реНрдкреЗрд╕ () {

рдпрджрд┐ [[ $(id -u) -eq 0 ]]; рдлрд┐рд░ рдмрд┐рд▓реНрд▓реА <<- _EOF_

рдЧреГрд╣ рд╕реНрдерд╛рди рдЙрдкрдпреЛрдЧ (рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛)

$(du -sh /home/*)

_рдИрдУрдПрдл_

рдЕрдиреНрдп

рдмрд┐рд▓реНрд▓реА <<- _EOF_

рдЧреГрд╣ рд╕реНрдерд╛рди рдЙрдкрдпреЛрдЧ ($USER)

$(рдбреБ -рд╢ $HOME)

_рдИрдУрдПрдл_

рдлрд╛рдИ рд╡рд╛рдкрд╕реА

}


рдЙрдкрдпреЛрдЧ () {

рдЗрдХреЛ "$PROGNAME: рдЙрдкрдпреЛрдЧ: $PROGNAME [-f рдлрд╝рд╛рдЗрд▓ | -i]" рд╡рд╛рдкрд╕реА

}


рд░рд╛рдЗрдЯ_рдПрдЪрдЯреАрдПрдордПрд▓_рдкреЗрдЬ () { рдХреИрдЯ <<- _рдИрдУрдПрдл_

$рд╢реАрд░реНрд╖рдХ

$рд╢реАрд░реНрд╖рдХ

$рдЯрд╛рдЗрдорд╕реНрдЯреИрдореНрдк

$(рд░рд┐рдкреЛрд░реНрдЯ_рдЕрдкрдЯрд╛рдЗрдо)

$(рд░рд┐рдкреЛрд░реНрдЯ_рдбрд┐рд╕реНрдХ_рд╕реНрдкреЗрд╕)

$(рд░рд┐рдкреЛрд░реНрдЯ_рд╣реЛрдо_рд╕реНрдкреЗрд╕)

_рдИрдУрдПрдл_ рд╡рд╛рдкрд╕реА

}


# рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдк

рдХреА рдЫрд╡рд┐

рдЙрдкрд╕рдВрд╣рд╛рд░


рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡=

рдлрд╝рд╛рдЗрд▓рдирд╛рдо=


рдЬрдмрдХрд┐ [[ -n $1 ]]; рдХреЗрд╕ $1 рдЗрди рдХрд░реЗрдВ

-рдПрдл | --рдлрд╝рд╛рдЗрд▓)

рдкрд╛рд▓реА

рдлрд╝рд╛рдЗрд▓рдирд╛рдо=$1

;;

рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡=

рдлрд╝рд╛рдЗрд▓рдирд╛рдо=


рдЬрдмрдХрд┐ [[ -n $1 ]]; рдХреЗрд╕ $1 рдЗрди рдХрд░реЗрдВ

-рдПрдл | --рдлрд╝рд╛рдЗрд▓)


-рдореИрдВ | --рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡) рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡=1

;;

-рдПрдЪ | --help) рдЙрдкрдпреЛрдЧ рдирд┐рдХрд╛рд╕

;;

*) рдЙрдкрдпреЛрдЧ >&2

рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ 1

;;

рдИрдПрд╕рдПрд╕реА рд╢рд┐рдлреНрдЯ

рдХрд┐рдпрд╛


# рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдореЛрдб


рдпрджрд┐ [[ -n $рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ ]]; рддрдм рдЬрдмрдХрд┐ рд╕рддреНрдп; рдХрд░рдирд╛

рдкрдврд╝реЗрдВ -p "рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ: " рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдпрджрд┐ [[ -рдИ $ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо ]]; рддрдм

рдкрдврд╝реЗрдВ -рдкреА "'$рдлрд╝рд╛рдЗрд▓рдирд╛рдо' рдореМрдЬреВрдж рд╣реИред рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░реЗрдВ? [y/n/q] > " рдорд╛рдорд▓реЗ рдореЗрдВ $рдЙрддреНрддрд░

Y|y) рдЯреВрдЯрдирд╛

;;

Q|q) рдкреНрд░рддрд┐рдзреНрд╡рдирд┐ "рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ред" рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛

;;

*) рдЬрд╛рд░реА рд░рдЦрдирд╛

;;

esac

elif [[ -z $рдлрд╝рд╛рдЗрд▓рдирд╛рдо ]]; рдлрд┐рд░ рдЬрд╛рд░реА рд░рдЦреЗрдВ

рдЕрдиреНрдп

рддреЛрдбрд╝рдирд╛

fi

рдХрд┐рдпрд╛

fi


# рдЖрдЙрдЯрдкреБрдЯ html рдкреЗрдЬ


рдпрджрд┐ [[ -n $ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо ]]; рддрдм

рдпрджрд┐ $filename && [[ -f $filename ]] рдХреЛ рд╕реНрдкрд░реНрд╢ рдХрд░реЗрдВ; рдлрд┐рд░_html_page > $filename рд▓рд┐рдЦреЗрдВ

рдЕрдиреНрдп

-рдореИрдВ | --рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡) рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡=1

;;

-рдПрдЪ | --help) рдЙрдкрдпреЛрдЧ рдирд┐рдХрд╛рд╕

;;

*) рдЙрдкрдпреЛрдЧ >&2

рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ 1

;;

рдИрдПрд╕рдПрд╕реА рд╢рд┐рдлреНрдЯ

рдХрд┐рдпрд╛


# рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдореЛрдб


рдпрджрд┐ [[ -n $рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ ]]; рддрдм рдЬрдмрдХрд┐ рд╕рддреНрдп; рдХрд░рдирд╛

рдкрдврд╝реЗрдВ -p "рдЖрдЙрдЯрдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рджрд░реНрдЬ рдХрд░реЗрдВ: " рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдпрджрд┐ [[ -рдИ $ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо ]]; рддрдм

рдкрдврд╝реЗрдВ -рдкреА "'$рдлрд╝рд╛рдЗрд▓рдирд╛рдо' рдореМрдЬреВрдж рд╣реИред рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░реЗрдВ? [y/n/q] > " рдорд╛рдорд▓реЗ рдореЗрдВ $рдЙрддреНрддрд░

Y|y) рдЯреВрдЯрдирд╛

;;

Q|q) рдкреНрд░рддрд┐рдзреНрд╡рдирд┐ "рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ред" рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛

;;

*) рдЬрд╛рд░реА рд░рдЦрдирд╛

;;

esac

elif [[ -z $рдлрд╝рд╛рдЗрд▓рдирд╛рдо ]]; рдлрд┐рд░ рдЬрд╛рд░реА рд░рдЦреЗрдВ

рдЕрдиреНрдп

рддреЛрдбрд╝рдирд╛

fi

рдХрд┐рдпрд╛

fi


# рдЖрдЙрдЯрдкреБрдЯ html рдкреЗрдЬ


рдпрджрд┐ [[ -n $ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо ]]; рддрдм

рдпрджрд┐ $filename && [[ -f $filename ]] рдХреЛ рд╕реНрдкрд░реНрд╢ рдХрд░реЗрдВ; рдлрд┐рд░_html_page > $filename рд▓рд┐рдЦреЗрдВ

рдЕрдиреНрдп


рдкреНрд░рддрд┐рдзреНрд╡рдирд┐ "$PROGNAME: рдлрд╝рд╛рдЗрд▓ '$рдлрд╝рд╛рдЗрд▓рдирд╛рдо' рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛" >&2 рдирд┐рдХрд╛рд╕ 1

рдлрд╛рдИ рдЕрдиреНрдп

рд▓рд┐рдЦреЗрдВ_рдПрдЪрдЯреАрдПрдордПрд▓_рдкреЗрдЬ

fi

рдкреНрд░рддрд┐рдзреНрд╡рдирд┐ "$PROGNAME: рдлрд╝рд╛рдЗрд▓ '$рдлрд╝рд╛рдЗрд▓рдирд╛рдо' рдирд╣реАрдВ рд▓рд┐рдЦ рд╕рдХрддрд╛" >&2 рдирд┐рдХрд╛рд╕ 1

рдлрд╛рдИ рдЕрдиреНрдп

рд▓рд┐рдЦреЗрдВ_рдПрдЪрдЯреАрдПрдордПрд▓_рдкреЗрдЬ

fi


рд╣рдордиреЗ рдЕрднреА рддрдХ рдХрд╛рдо рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ. рдЕрднреА рднреА рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рд╣рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред


рдореЗрдиреНрдпреВ

OnWorks рдкрд░ рд╢реАрд░реНрд╖ OS рдХреНрд▓рд╛рдЙрдб рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ: