рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рдиред рднрд╛рдЧ реи

, (bash.org.ru)

рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд░ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдПрдХ рдирдпрд╛ рдЪрдпрди рд╣реИред рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдЙрди рд╕рднреА рдХреЗ рд▓рд┐рдП рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрдЧрд╛ рдЬреЛ рдХрдВрд╕реЛрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╕реЗ рдбрд░рддреЗ рдирд╣реАрдВ рд╣реИрдВред
рдкрд╣рд▓рд╛ рднрд╛рдЧ рдпрд╣рд╛рдБ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред

рд╡рд┐рдХрд▓реНрдк (рдХреБрдВрдЬреА)


рдпрд╣ рд╡рд┐рдзрд┐ рд▓реЗрдЦ рдХреЗ рдкрд╣рд▓реЗ рднрд╛рдЧ рдХреЗ рдпреЛрдЧреНрдп рдереА, рд▓реЗрдХрд┐рди рд▓реЗрдЦрдХ рдХреЗ рд╡рд┐рд╕реНрдорд░рдг рдХреЗ рдХрд╛рд░рдг рд╡рд╣рд╛рдВ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреАред рдирд┐рд╕реНрд╕рдВрджреЗрд╣, рдпрд╣ рд╡рд┐рдзрд┐ рдЙрди рд╕рднреА * рдирд┐рдХреНрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдХрдо рд╕реЗ рдХрдо рдПрдХ рдмрд╛рд░ рдХрдВрд╕реЛрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИред рдПрдХ рд╕рд╛рдзрд╛рд░рдг рджреГрд╢реНрдп рдЙрджрд╛рд╣рд░рдг:

рдкреНрд▓рд╕ рдпрд╣ рд╣реИ рдХрд┐ рдЪрд╛рдмрд┐рдпрд╛рдБ рдХрдо рд╣реИрдВ рдФрд░ рд╕рдВрдпреБрдХреНрдд рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рд╣рдо рдРрд╕рд╛ рд╣реА рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗ, рдФрд░ рдПрдХ рдХреНрд╖рдг рдореЗрдВ рд╣рдо рдХреБрдЫ рдФрд░ рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░реЗрдВрдЧреЗред
 #!/bin/bash set -e ME=`basename $0` function print_help() { echo "   test_file" echo echo ": $ME options..." echo ":" echo " -c   test_file." echo " -w text     text." echo " -r   test_file." echo " -h ." echo } function create_file() { touch test_file } function write_to_file { echo "$TEXT" >> test_file } function remove_file { rm test_file } #     ,  . if [ $# = 0 ]; then print_help fi while getopts ":cw:r" opt ; do case $opt in c) create_file; ;; w) TEXT=$OPTARG; write_to_file ;; r) remove_file ;; *) echo " "; echo "    $ME -h"; exit 1 ;; esac done 

рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХреНрдпрд╛ рд╣реИ?

рдпрд╣рд╛рдБ getopts рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВред

рдкрд╕рдВрдж


рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдХреЗрд╕ рдХреЗ рд╕рд╛рде рд░рди рд╡рд┐рдХрд▓реНрдк рдЪреБрдирдиреЗ рдкрд░ рдзреНрдпрд╛рди рджрд┐рдпрд╛ ред рдЕрдм рдЪрд▓реЛ рдЪрдпрди рдХрд░реЗрдВ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдореЗрдиреВ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рд╕рд░рд▓, рдЧрд┐рдиреЗ рдореЗрдиреВ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
 #!/bin/bash #    PS3='  : ' select OS in "Linux" "Windows" "Mac OS" "BolgenOS" do echo echo "  $OS!" echo break done 


рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рдпрд╣рд╛рдБ рд╡рд░реНрдгрд┐рдд рд╣реИрдВ ред

рд▓реЙрдЧрд┐рдВрдЧ


рд╕рдВрджреЗрд╢ рдХреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛, рдмрд▓реНрдХрд┐ рдЙрдиреНрд╣реЗрдВ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦрдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдЦрд╛рд╕рдХрд░ рдЕрдЧрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реЛред
рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рд╛рдорд╛рдиреНрдп рд▓реЗрдЦрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
 #!/bin/bash NAME=`basename $0` TIME=`date +%F\ %H:%M:%S` TYPE='<info>' echo "$TIME $NAME: $TYPE Operation completed successfully" >> /tmp/log 

рд▓реЗрдХрд┐рди рдПрдХ рд╡рд┐рд╢реЗрд╖ рд▓реЙрдЧрд┐рдВрдЧ рдЯреВрд▓ рднреА рд╣реИ - рд▓рдХрдбрд╝рд╣рд╛рд░рд╛ ред
 logger Operation completed successfully sudo tail /var/log/syslog 

рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдпрд╣рд╛рдБ ред

рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрд▓рд░реНрдЯ



рдереЛрдбрд╝рд╛ рдордЬрд╝рд╛ рд▓реЗрдВ рдФрд░ рдиреЛрдЯрд┐рдлрд╝рд╛рдпрд░ рдХреЗ рд╕рд╛рде рдЦреЗрд▓реЗрдВред рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрд╕ рдкреИрдХреЗрдЬ рдХреЛ рд░рдЦреЗрдВ рдЬрд┐рд╕рдХреА рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
 sudo apt-get install libnotify-bin 

рдЕрдм рд╣рдо рдЯрд░реНрдорд┐рдирд▓ рдореЗрдВ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдЪрд▓рд╛рддреЗ рд╣реИрдВ:
 notify-send --expire-time=10000 "" "   " 

рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИрдмреЗ рдкрд░ рд▓рд┐рдЦрд╛ рд╣реИред

рдХреАрдмреЛрд░реНрдб рд╕рдВрдХреЗрддрдХ


рдЕрдкрдиреЗ рдХреАрдмреЛрд░реНрдб рдкрд░ рдмрд▓реНрдмреЛрдВ рдХреЛ рдмреНрд▓рд┐рдВрдХ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рд╣рд╛рдБ, рдХреГрдкрдпрд╛!
 #!/bin/bash setleds -D +caps < /dev/tty7 sleep 1 setleds -D -caps < /dev/tty7 

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд░реВрдЯ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЪрд▓рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП!

рдзреНрд╡рдирд┐ рд╕рдВрдХреЗрдд


рдзреНрд╡рдирд┐ рд╕рдВрдХреЗрддреЛрдВ рдХреЛ рдХрдИ рддрд░реАрдХреЛрдВ рд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

рдкрд╣рд▓реЗ рджреЛ рддрд░реАрдХреЛрдВ рдиреЗ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЯрд░реНрдорд┐рдирд▓ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдХрд╛рд░рдг рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рдереАред

рдЙрджреНрдШрд╛рдЯрди / рд╕рдорд╛рдкрди рд╕рд┐рджреАрд░реЛрдорд╛


 #!/bin/bash #   eject #   eject -t 

"рдпрд╣ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд╣реАрдВ рд╣реИ!" рдЖрдк рдХрд╣рддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рддрдереНрдп рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рд╕рд╛рдмрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ ред

Source: https://habr.com/ru/post/In127084/


All Articles