<рдкрд┐рдЫрд▓рд╛ | рд╡рд┐рд╖рдп-рд╕реВрдЪреА | рдЕрдЧрд▓рд╛>
рдЙрдкрд╕рдВрд╣рд╛рд░
рд╕реНрдерд┐рддреАрдп рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╛рде, рдЕрдм рд╣рдо рдХрд╛рдлреА рдХрд╛рд░реНрдпрд╛рддреНрдордХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд░рд▓, рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╕реНрдерд┐рддреАрдп рдкреИрд░рд╛рдореАрдЯрд░ рдмрд╣реБрдд рдЙрдкрдпреЛрдЧреА рд╢реЗрд▓ рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦрдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╢реЗрд▓ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ .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
рд╣рдордиреЗ рдЕрднреА рддрдХ рдХрд╛рдо рдкреВрд░рд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ. рдЕрднреА рднреА рдмрд╣реБрдд рд╕реА рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рд╣рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
<рдкрд┐рдЫрд▓рд╛ | рд╡рд┐рд╖рдп-рд╕реВрдЪреА | рдЕрдЧрд▓рд╛>