рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ
рдмреНрдпрд╛рд╕ рд▓рд┐рдкрд┐рд╣рд░реВ рднрд╛рдЧ реи: рд▓реВрдкрд╣рд░реВ
Bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ, рднрд╛рдЧ 3: рдЖрджреЗрд╢ рд░реЗрдЦрд╛ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рд░ рд╕реНрд╡рд┐рдЪрд╣рд░реВ
Bash рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рднрд╛рдЧ 4: рдЗрдирдкреБрдЯ рд░ рдЖрдЙрдЯрдкреБрдЯ
рдмреНрдпрд╛рд╕ рд▓рд┐рдкрд┐рд╣рд░реВ, рднрд╛рдЧ 5: рд╕рдВрдХреЗрддрд╣рд░реВ, рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛рд░реНрдпрд╣рд░реВ, рд▓рд┐рдкрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди
рдмреНрдпрд╛рд╕ рд▓рд┐рдкрд┐рд╣рд░реВ, рднрд╛рдЧ 6: рдХрд╛рд░реНрдпрд╣рд░реВ рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╡рд┐рдХрд╛рд╕
Bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ, рднрд╛рдЧ 7: sed рд░ рд╢рдмреНрдж рдкреНрд░рд╢реЛрдзрди
Bash Scripts, рднрд╛рдЧ 8: awk рдбрд╛рдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдЩ рднрд╛рд╖рд╛
рдмреНрдпрд╛рд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднрд╛рдЧ 9: рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐
Bash Scripts рднрд╛рдЧ 10: рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ
Bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ, рднрд╛рдЧ 11: рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВрдХреЛ рдЕрдкреЗрдХреНрд╖рд╛ рд░ рд╕реНрд╡рдЪрд╛рд▓рди

рдЖрдЬ рд╣рд╛рдореА bash рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрд╛рд░реЗ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреМрдВред рдпреЛ - рдЖрджреЗрд╢ рд░реЗрдЦрд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ, bash рд╢реЗрд▓ рдХреЛ рд▓рд╛рдЧреА рд▓реЗрдЦрд┐рдПрдХреЛред рддреНрдпрд╣рд╛рдБ рдЕрдиреНрдп рд╢реЗрд▓рд╣рд░реВ рдЫрдиреН, рдЬрд╕реНрддреИ zsh, tcsh, ksh, рддрд░ рд╣рд╛рдореА bash рдорд╛ рдзреНрдпрд╛рди рдХреЗрдиреНрджреНрд░рд┐рдд рдЧрд░реНрдиреЗрдЫреМрдВред рдпреЛ рд╕рд╛рдорд╛рдЧреНрд░реА рд╕рдмреИрдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛ, рдорд╛рддреНрд░ рд╕рд░реНрдд рдорд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рд╣реЛ рдЖрджреЗрд╢ рд▓рд╛рдЗрди рд▓рд┐рдирдХреНрд╕

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ

рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрди рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рдПрдЙрдЯреИ рдЖрджреЗрд╢рд╣рд░реВрдХреЛ рд╕реЗрдЯрд╣рд░реВ рд╣реБрдиреН рдЬреБрди рдХрд┐рдмреЛрд░реНрдбрдмрд╛рдЯ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рд╕рдЩреНрдХрд▓рди рдЧрд░рд┐рдиреНрдЫ рд░ рдХреЗрд╣реА рд╕рд╛рдЭрд╛ рдЙрджреНрджреЗрд╢реНрдпрджреНрд╡рд╛рд░рд╛ рдПрдХрддрд╛рдмрджреНрдз рд╣реБрдиреНрдЫред рдПрдХреИ рд╕рдордпрдорд╛, рдЯреЛрд▓реАрдХреЛ рдХрд╛рдордХреЛ рдирддрд┐рдЬрд╛ рдпрд╛ рдд рд╕реНрд╡рддрдиреНрддреНрд░ рдореВрд▓реНрдпрдХреЛ рд╣реБрди рд╕рдХреНрдЫ рд╡рд╛ рдЕрдиреНрдп рдЯреЛрд▓реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЗрдирдкреБрдЯрдХреЛ рд░реВрдкрдорд╛ рд╕реЗрд╡рд╛ рдЧрд░реНрди рд╕рдХреНрдЫред рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рдмрд╛рд░рдореНрдмрд╛рд░ рдкреНрд░рджрд░реНрд╢рди рдЧрд░рд┐рдПрдХрд╛ рдХрд╛рд░реНрдпрд╣рд░реВ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрд░реНрди рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рддрд░рд┐рдХрд╛ рд╣реЛред

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ

рддреНрдпрд╕реЛрднрдП, рдпрджрд┐ рд╣рд╛рдореА рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрдирдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрдЫреМрдВ рднрдиреЗ, рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдПрдХреИрдЪреЛрдЯрд┐ рдзреЗрд░реИ рдЖрджреЗрд╢рд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдордХреЛ рд╕рд╛рде рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

pwd ; whoami

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

рдпреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рддрдкрд╛рдЗрдБ рдПрдХ рд▓рд╛рдЗрдирдорд╛ рддрдкрд╛рдИрд▓реЗ рдЪрд╛рд╣рд╛рдиреБ рднрдПрдХреЛ рдзреЗрд░реИ рдЖрджреЗрд╢рд╣рд░реВ рд╕рдВрдпреЛрдЬрди рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рд╕реАрдорд╛ рдорд╛рддреНрд░ рдХрд╛рд░реНрдпрдХреНрд░рдордорд╛ рдкрд╛рд╕ рдЧрд░реНрди рд╕рдХрд┐рдиреЗ рддрд░реНрдХрд╣рд░реВрдХреЛ рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рд╣реЛред рддрдкрд╛рдЗрдБ рдирд┐рдореНрди рдЖрджреЗрд╢ рд╕рдВрдЧ рдпреЛ рд╕реАрдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

getconf ARG_MAX

рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрди рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рдЙрдкрдХрд░рдг рд╣реЛ, рддрд░ рддрдкрд╛рдИрд▓реЗ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рдмреЗрд▓рд╛рдорд╛ рдпрд╕рдорд╛ рдХрдорд╛рдгреНрдбрд╣рд░реВ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫред рдХреЗ рд╣реБрдиреНрдЫ рдпрджрд┐ рд╣рд╛рдореАрд▓реЗ рдлрд╛рдЗрд▓рдорд╛ рдЖрджреЗрд╢рд╣рд░реВрдХреЛ рд╕реЗрдЯ рд▓реЗрдЦреНрдЫреМрдВ рд░ рддреНрдпрд╕рд▓рд╛рдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рдлрд╛рдЗрд▓рд▓рд╛рдИ рдХрд▓ рдЧрд░реНрдЫреМрдВ? рд╡рд╛рд╕реНрддрд╡рдорд╛, рд╣рд╛рдореАрд▓реЗ рдХреБрд░рд╛ рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдлрд╛рдЗрд▓рд▓рд╛рдИ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реНрдХреНрд░рд┐рдкреНрдЯ рднрдирд┐рдиреНрдЫред

рдХрд╕рд░реА bash рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рдо рдЧрд░реНрджрдЫ

рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЦрд╛рд▓реА рдлрд╛рдЗрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН touchред рдпрд╕рдХреЛ рдкрд╣рд┐рд▓реЛ рдкрдЩреНрдХреНрддрд┐рдорд╛, рддрдкрд╛рдИрдВрд▓реЗ рдХреБрди рд╢реЗрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЬрд╛рдБрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рд╣рд╛рдореА рдЪрд╛рд╕реЛ рд░рд╛рдЦреНрдЫреМрдВ bash, рддреНрдпрд╕реИрд▓реЗ рдлрд╛рдЗрд▓рдХреЛ рдкрд╣рд┐рд▓реЛ рд▓рд╛рдЗрди рд╣реБрдиреЗрдЫ:

#!/bin/bash

рдпрд╕ рдлрд╛рдЗрд▓рдорд╛ рдЕрдиреНрдпрддреНрд░, рд╣реНрдпрд╛рд╕ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд▓рд╛рдИ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ рд╕рдВрдХреЗрдд рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ рдЬреБрди рд╢реЗрд▓рд▓реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрджреИрдиред рдпрджреНрдпрдкрд┐, рдкрд╣рд┐рд▓реЛ рд░реЗрдЦрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХреЗрд╕ рд╣реЛ, рдпреЛ рдПрдХ рд╡рд┐рд╕реНрдордпрд╛рджрд┐рдмреЛрдзрдХ рдмрд┐рдиреНрджреБ рдкрдЫрд┐ рдПрдХ рдкрд╛рдЙрдиреНрдб рдЪрд┐рдиреНрд╣ рд╣реЛ (рдпрд╕ рдЕрдиреБрдХреНрд░рдо рднрдирд┐рдиреНрдЫред shebang) рд░ рдЬрд╛рдиреЗ рдмрд╛рдЯреЛ bash, рдкреНрд░рдгрд╛рд▓реАрд▓рд╛рдИ рд╕рдВрдХреЗрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рдЬреБрди рд▓рд┐рдкрд┐ рд╡рд┐рд╢реЗрд╖ рд░реВрдкрдорд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ bash.

рд╢реЗрд▓ рдЖрджреЗрд╢рд╣рд░реВ рдирдпрд╛рдБ рд▓рд╛рдЗрдирджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реБрдиреНрдЫрдиреН, рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ рдкрд╛рдЙрдиреНрдб рдЪрд┐рдиреНрд╣рджреНрд╡рд╛рд░рд╛ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реБрдиреНрдЫрдиреНред рдпреЛ рдХрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ рдпрд╣рд╛рдБ рдЫ:

#!/bin/bash
# This is a comment
pwd
whoami

рдпрд╣рд╛рдБ, рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрдирдорд╛ рдЬрд╕реНрддреИ, рддрдкрд╛рдИрдВрд▓реЗ рдПрдХ рд▓рд╛рдЗрдирдорд╛ рдЖрджреЗрд╢рд╣рд░реВ рд▓реЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЕрд░реНрдзрд╡рд┐рд░рд╛рдорд▓реЗ рдЫреБрдЯреНрдпрд╛рдЙрдиреБрд╣реБрдиреНрдЫред рдпрджреНрдпрдкрд┐, рдпрджрд┐ рддрдкрд╛рдЗрдБ рдлрд░рдХ рд▓рд╛рдЗрдирд╣рд░реВрдорд╛ рдЖрджреЗрд╢рд╣рд░реВ рд▓реЗрдЦреНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдлрд╛рдЗрд▓ рдкрдвреНрди рд╕рдЬрд┐рд▓реЛ рд╣реБрдиреНрдЫред рдХреБрдиреИ рдкрдирд┐ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдЦреЛрд▓ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрдиреЗрдЫред

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╛рдЗрд▓рдорд╛ рдЕрдиреБрдорддрд┐рд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрджреИ

рдлрд╛рдЗрд▓рд▓рд╛рдИ рдирд╛рдо рджрд┐рдПрд░ рдмрдЪрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН myscript, рд░ bash рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рдЧрднрдЧ рд╕рдХрд┐рдпреЛред рдЕрдм рдпреЛ рдлрд╛рдЗрд▓рд▓рд╛рдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдмрдирд╛рдЙрди рдорд╛рддреНрд░ рдмрд╛рдБрдХреА рдЫ, рдЕрдиреНрдпрдерд╛, рдЬрдм рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдЪрд▓рд╛рдЙрди рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ, рддрдкрд╛рдЗрдБ рддреНрд░реБрдЯрд┐рдХреЛ рд╕рд╛рдордирд╛ рдЧрд░реНрдиреБрд╣реБрдиреЗрдЫред Permission denied.

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ
рдЧрд▓рдд рддрд░рд┐рдХрд╛рд▓реЗ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХрд╛ рдЕрдиреБрдорддрд┐рд╣рд░реВрд╕рдБрдЧ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╛рдЗрд▓ рдЪрд▓рд╛рдЙрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджреИ

рдлрд╛рдЗрд▓рд▓рд╛рдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдмрдирд╛рдЙрдиреБрд╣реЛрд╕реН:

chmod +x ./myscript

рдЕрдм рдпрд╕рд▓рд╛рдИ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВ:

./myscript

рдЕрдиреБрдорддрд┐рд╣рд░реВ рд╕реЗрдЯ рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐, рд╕рдмреИ рдХреБрд░рд╛рд▓реЗ рдЬрд╕реНрддреИ рдХрд╛рдо рдЧрд░реНрджрдЫред

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ
bash рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реН

рд╕рдиреНрджреЗрд╢ рдЖрдЙрдЯрдкреБрдЯ

рд▓рд┐рдирдХреНрд╕ рдХрдиреНрд╕реЛрд▓рдорд╛ рдкрд╛рда рдкреНрд░рд┐рдиреНрдЯ рдЧрд░реНрди, рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН echoред рдпрд╕ рддрдереНрдпрдХреЛ рдЬреНрдЮрд╛рди рдкреНрд░рдпреЛрдЧ рдЧрд░реМрдВ рд░ рд╣рд╛рдореНрд░реЛ рд▓рд┐рдкрд┐ рд╕рдореНрдкрд╛рджрди рдЧрд░реМрдВ, рдпрд╕рдорд╛ рдкрд╣рд┐рд▓реЗ рдиреИ рдЖрджреЗрд╢рд╣рд░реВ рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрдиреЗ рдбреЗрдЯрд╛рдорд╛ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдгрд╣рд░реВ рдердкреНрджреИ:

#!/bin/bash
# our comment is here
echo "The current directory is:"
pwd
echo "The user logged in is:"
whoami

рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рд▓рд┐рдкрд┐ рдЪрд▓рд╛рдЙрдБрджрд╛ рдХреЗ рд╣реБрдиреНрдЫ рдпрд╣рд╛рдБ рдЫред

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ
рд╕реНрдХреНрд░рд┐рдкреНрдЯрдмрд╛рдЯ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрджреИ

рдЕрдм рд╣рд╛рдореА рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╡реНрдпрд╛рдЦреНрдпрд╛рддреНрдордХ рд▓реЗрдмрд▓рд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ echoред рдпрджрд┐ рддрдкрд╛рдЗрдБ рд▓рд┐рдирдХреНрд╕ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдлрд╛рдЗрд▓ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрдиреЗ рддрд░рд┐рдХрд╛ рдерд╛рд╣рд╛ рдЫреИрди рднрдиреЗ, рд╡рд╛ рдпрджрд┐ рддрдкрд╛рдЗрдБ рдкрд╣рд┐рд▓реЗ рдЖрджреЗрд╢ рджреЗрдЦреНрдиреБ рднрдПрдХреЛ рдЫреИрди рднрдиреЗ echo, рдПрдХ рдирдЬрд░ рд▓рд┐рдиреБрд╣реЛрд╕реН рдпреЛ рд╕рд╛рдордЧреНрд░реАред

рдЪрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ

рдЪрд░рд╣рд░реВрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╛рдЗрд▓рдорд╛ рдЬрд╛рдирдХрд╛рд░реА рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ, рдЬрд╕реНрддреИ рдЖрджреЗрд╢рд╣рд░реВрдХреЛ рдкрд░рд┐рдгрд╛рдорд╣рд░реВ, рдЕрдиреНрдп рдЖрджреЗрд╢рд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ред

рддрд┐рдиреАрд╣рд░реВрдХреЛ рдХрд╛рдордХреЛ рдирддрд┐рдЬрд╛рд╣рд░реВ рднрдгреНрдбрд╛рд░рдг рдирдЧрд░реА рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЖрджреЗрд╢рд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрдирдорд╛ рдХреЗрд╣реА рдЧрд▓рдд рдЫреИрди, рддрд░ рдпрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдХреЛ рд╕рдореНрднрд╛рд╡рдирд╛рд╣рд░реВ рдзреЗрд░реИ рд╕реАрдорд┐рдд рдЫрдиреНред

рддреНрдпрд╣рд╛рдБ рджреБрдИ рдкреНрд░рдХрд╛рд░рдХрд╛ рдЪрд░рд╣рд░реВ рдЫрдиреН рдЬреБрди bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ:

  • рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░
  • рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЪрд░

рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░

рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ рд╢реЗрд▓ рдЖрджреЗрд╢рд╣рд░реВрд▓реЗ рдХреЗрд╣реА рдкреНрд░рдгрд╛рд▓реА рдбреЗрдЯрд╛рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд╣рд╛рд▓рдХреЛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рдЧреГрд╣ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╕рд░реА рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдпрд╣рд╛рдБ рдЫ:

#!/bin/bash
# display user home
echo "Home for the current user is: $HOME"

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджрд┐рдиреБрд╣реЛрд╕реН рдХрд┐ рд╣рд╛рдореА рдкреНрд░рдгрд╛рд▓реА рдЪрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВ $HOME рджреЛрд╣реЛрд░реЛ рдЙрджреНрдзрд░рдгрд╣рд░реВрдорд╛, рдпрд╕рд▓реЗ рдкреНрд░рдгрд╛рд▓реАрд▓рд╛рдИ рдпрд╕рд▓рд╛рдИ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрдирдмрд╛рдЯ рд░реЛрдХреНрди рд╕рдХреНрджреИрдиред рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдорд╛рдерд┐рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдЙрдиреБрднрдпреЛ рднрдиреЗ рдХреЗ рд╣реБрдиреНрдЫ рдпрд╣рд╛рдБ рдЫред

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ
рд▓рд┐рдкрд┐рдорд╛ рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ

рддрд░ рдХреЗ рддрдкрд╛рдИрдВ рдПрдХ рдбрд▓рд░ рдЪрд┐рдиреНрд╣ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ? рдпреЛ рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВ:

echo "I have $1 in my pocket"

рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдЙрджреНрдзрд░рдгрд╣рд░реВрджреНрд╡рд╛рд░рд╛ рдЫреБрдЯреНрдпрд╛рдЗрдПрдХреЛ рд╕реНрдЯреНрд░рд┐рдЩрдорд╛ рдбрд▓рд░ рдЪрд┐рдиреНрд╣ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреЗрдЫ рд░ рд╣рд╛рдореАрд▓реЗ рдПрдЙрдЯрд╛ рдЪрд░ рд╕рдиреНрджрд░реНрдн рдЧрд░реЗрдХрд╛ рдЫреМрдВ рднрдиреА рдорд╛рдиреНрдиреЗрдЫред рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗ рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рдЪрд▓рдХреЛ рдорд╛рди рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреЗрдЫред $1ред рдпреЛ рд╣рд╛рдореАрд▓рд╛рдИ рдЪрд╛рд╣рд┐рдиреЗ рдХреБрд░рд╛ рд╣реЛрдЗрдиред рдХреЗ рдЧрд░реНрдиреЗ?

рдпрд╕реНрддреЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдбрд▓рд░ рдЪрд┐рдиреНрд╣ рдЕрдШрд┐ рдмреНрдпрд╛рдХрд╕реНрд▓реНрдпрд╛рд╢ рдирд┐рдпрдиреНрддреНрд░рдг рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрджрдЫ:

echo "I have $1 in my pocket"

рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗ рдЕрдм рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдкрдорд╛ рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрдиреЗрдЫред

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ
рдбрд▓рд░ рдЪрд┐рдиреНрд╣ рдЖрдЙрдЯрдкреБрдЯ рдЧрд░реНрди рдПрд╕реНрдХреЗрдк рдЕрдиреБрдХреНрд░рдо рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ

рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЪрд░

рд╡рд╛рддрд╛рд╡рд░рдг рдЪрд░рдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдорд╛ рддрдкрд╛рдЗрдБрдХреЛ рдЖрдлреНрдиреИ рдЪрд░рд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрди рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рддреНрдпрд╕реНрддрд╛ рдЪрд░рд╣рд░реВрд▓реЗ рд▓рд┐рдкрд┐ рд╕рдорд╛рдкреНрдд рдирднрдПрд╕рдореНрдо рдорд╛рди рд░рд╛рдЦреНрдЫрдиреНред

рдкреНрд░рдгрд╛рд▓реА рдЪрд░рд╣рд░реВ рдЬрд╕реНрддреИ, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЪрд░рд╣рд░реВ рдбрд▓рд░ рдЪрд┐рдиреНрд╣ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкрд╣реБрдБрдЪ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ:
TNW-CUS-FMP - рд╣рд╛рдореНрд░рд╛ рд╕реЗрд╡рд╛рд╣рд░реВрдорд╛ резреж% рдЫреБрдЯрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░реЛрдореЛ рдХреЛрдб, рен рджрд┐рди рднрд┐рддреНрд░ рд╕рдХреНрд░рд┐рдп рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрд▓рдмреНрдз

#!/bin/bash
# testing variables
grade=5
person="Adam"
echo "$person is a good boy, he is in grade $grade"

рдпрд╕реНрддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдЙрдБрджрд╛ рдХреЗ рд╣реБрдиреНрдЫ рдпрд╣рд╛рдБ рдЫред

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ
рд╕реНрдХреНрд░рд┐рдкреНрдЯрдорд╛ рдЕрдиреБрдХреВрд▓рди рдЪрд░рд╣рд░реВ

рдЖрджреЗрд╢ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди

bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрдХреЛ рд╕рдмреИрднрдиреНрджрд╛ рдЙрдкрдпреЛрдЧреА рд╡рд┐рд╢реЗрд╖рддрд╛рд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рднрдиреЗрдХреЛ рдЖрджреЗрд╢рд╣рд░реВрдХреЛ рдЖрдЙрдЯрдкреБрдЯрдмрд╛рдЯ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓реНрдиреЗ рд░ рдпрд╕рд▓рд╛рдИ рдЪрд░рд╣рд░реВрдорд╛ рдЕрд╕рд╛рдЗрди рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рд╣реЛ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдпреЛ рдЬрд╛рдирдХрд╛рд░реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╛рдЗрд▓рдорд╛ рдХрд╣реАрдВ рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рдпреЛ рджреБрдИ рддрд░рд┐рдХрд╛рдорд╛ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

  • рдмреНрдпрд╛рдХрдЯрд┐рдХ рдЕрдХреНрд╖рд░ "`" рд╕рдБрдЧ
  • рдирд┐рд░реНрдорд╛рдгрдХреЛ рд╕рд╣рдпреЛрдЧрдорд╛ $()

рдкрд╣рд┐рд▓реЛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛, рдмреНрдпрд╛рдХрдЯрд┐рдХрдХреЛ рд╕рдЯреНрдЯрд╛ рдПрдХрд▓ рдЙрджреНрдзрд░рдг рдкреНрд░рдпреЛрдЧ рдирдЧрд░реНрди рд╕рд╛рд╡рдзрд╛рди рд░рд╣рдиреБрд╣реЛрд╕реНред рдЖрджреЗрд╢ рджреБрдИ рддреНрдпрд╕реНрддрд╛ рдЖрдЗрдХрдирд╣рд░реВрдорд╛ рд╕рдВрд▓рдЧреНрди рд╣реБрдиреБрдкрд░реНрдЫ:

mydir=`pwd`

рджреЛрд╕реНрд░реЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдорд╛, рдпрд╕реНрддреИ рд▓реЗрдЦрд┐рдПрдХреЛ рдЫ:

mydir=$(pwd)

рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЕрдиреНрддрдорд╛, рдпреЛ рдЬрд╕реНрддреЛ рджреЗрдЦрд┐рди рд╕рдХреНрдЫ:

#!/bin/bash
mydir=$(pwd)
echo $mydir

рдпрд╕рдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рдХреНрд░рдордорд╛, рдЖрджреЗрд╢рдХреЛ рдЖрдЙрдЯрдкреБрдЯ pwdрдЪрд░ рдорд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░рд┐рдиреЗрдЫ mydir, рдЬрд╕рдХреЛ рд╕рд╛рдордЧреНрд░реА, рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ echo, рдХрдиреНрд╕реЛрд▓рдорд╛ рдЬрд╛рдиреНрдЫред

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ
рдЪрд░рдорд╛ рдЖрджреЗрд╢рдХреЛ рдирддрд┐рдЬрд╛ рдмрдЪрдд рдЧрд░реНрдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ

рдЧрдгрд┐рддреАрдп рдХрд╛рд░реНрдпрд╣рд░реВ

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╛рдЗрд▓рдорд╛ рдЧрдгрд┐рддреАрдп рдХрд╛рд░реНрдпрд╣рд░реВ рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рдлрд╛рд░рдордХреЛ рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ $((a+b)):

#!/bin/bash
var1=$(( 5 + 5 ))
echo $var1
var2=$(( $var1 * 2 ))
echo $var2

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ
рд▓рд┐рдкрд┐рдорд╛ рдЧрдгрд┐рдд рдХрд╛рд░реНрдпрд╣рд░реВ

рдпрджрд┐-рддрдм рдирд┐рдпрдиреНрддреНрд░рдг рд╕рдВрд░рдЪрдирд╛

рдХреЗрд╣реА рдкрд░рд┐рджреГрд╢реНрдпрд╣рд░реВрдорд╛, рдЖрджреЗрд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рдкреНрд░рд╡рд╛рд╣рд▓рд╛рдИ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрджрд┐ рдХреБрдиреИ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рди рдкрд╛рдБрдЪ рднрдиреНрджрд╛ рдмрдвреА рдЫ рднрдиреЗ, рдПрдЙрдЯрд╛ рдХрд╛рд░реНрдп рдЧрд░реНрдиреБрдкрд░реНрджрдЫ, рдЕрдиреНрдпрдерд╛ рдЕрд░реНрдХреЛред рдпреЛ рдзреЗрд░реИ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рд╣рд░реВрдорд╛ рд▓рд╛рдЧреВ рд╣реБрдиреНрдЫ, рд░ рдпрд╣рд╛рдБ рдирд┐рдпрдиреНрддреНрд░рдг рд╕рдВрд░рдЪрдирд╛рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдорджреНрджрдд рдЧрд░реНрдиреЗрдЫ if-thenред рдпрд╕рдХреЛ рд╕рд░рд▓ рд░реВрдк рдорд╛, рдпреЛ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:

if ╨║╨╛╨╝╨░╨╜╨┤╨░
then
╨║╨╛╨╝╨░╨╜╨┤╤Л
fi

рд░ рдпрд╣рд╛рдБ рдПрдХ рдХрд╛рдо рдЙрджрд╛рд╣рд░рдг рд╣реЛ:

#!/bin/bash
if pwd
then
echo "It works"
fi

рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдпрджрд┐ рдЖрджреЗрд╢рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди pwdрд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкреВрд░рд╛ рднрдпреЛ, рдкрд╛рда "рдпрд╕рд▓реЗ рдХрд╛рдо рдЧрд░реНрджрдЫ" рдХрдиреНрд╕реЛрд▓рдорд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реБрдиреЗрдЫред

рд╣рд╛рдореАрд╕рдБрдЧ рднрдПрдХреЛ рдЬреНрдЮрд╛рди рдкреНрд░рдпреЛрдЧ рдЧрд░реМрдВ рд░ рдЕрдЭ рдЬрдЯрд┐рд▓ рдкрд░рд┐рджреГрд╢реНрдп рд▓реЗрдЦреМрдВред рдорд╛рдиреМрдВ рд╣рд╛рдореАрд▓реЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЦреЛрдЬреНрдиреБ рдкрд░реНрдЫ /etc/passwd, рд░ рдпрджрд┐ рдпреЛ рдлреЗрд▓рд╛ рдкрд░реНрдпреЛ рднрдиреЗ, рдпреЛ рдЕрд╡рд╕реНрдерд┐рдд рдЫ рднрдиреЗрд░ рд░рд┐рдкреЛрд░реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

#!/bin/bash
user=likegeeks
if grep $user /etc/passwd
then
echo "The user $user Exists"
fi

рдпреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдЙрдБрджрд╛ рдХреЗ рд╣реБрдиреНрдЫред

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ
рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЦреЛрдЬ

рдпрд╣рд╛рдБ рд╣рд╛рдореАрд▓реЗ рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрдХрд╛ рдЫреМрдВ grepрдлрд╛рдЗрд▓рдорд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЦреЛрдЬреНрди /etc/passwdред рдпрджрд┐ рдЯреЛрд▓реА grepрддрдкрд╛рдИрд▓рд╛рдИ рдЕрдкрд░рд┐рдЪрд┐рдд, рдпрд╕рдХреЛ рд╡рд┐рд╡рд░рдг рдкрд╛рдЙрди рд╕рдХрд┐рдиреНрдЫ рдпрд╣рд╛рдБ.

рдпрд╕ рдЙрджрд╛рд╣рд░рдгрдорд╛, рдпрджрд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдлреЗрд▓рд╛ рдкрд░реНрдпреЛ рднрдиреЗ, рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗ рдЙрдкрдпреБрдХреНрдд рд╕рдиреНрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреЗрдЫред рдпрджрд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдлреЗрд▓рд╛ рдкрд░реЗрди рднрдиреЗ рдХреЗ рд╣реБрдиреНрдЫ? рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдХреЗрд╣реА рдирднрдиреА рдорд╛рддреНрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреВрд░рд╛ рдЧрд░реНрдиреЗрдЫред рдо рдЙрд╕рд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдпрд╕ рдмрд╛рд░реЗ рдкрдирд┐ рдмрддрд╛рдЙрди рдЪрд╛рд╣рдиреНрдЫреБ, рддреНрдпрд╕реИрд▓реЗ рдХреЛрдб рд╕реБрдзрд╛рд░ рдЧрд░реМрдВред

рдпрджрд┐-рддрд░-рдЕрдиреНрдп рдирд┐рдпрдиреНрддреНрд░рдг рдирд┐рд░реНрдорд╛рдг

рдХрд╛рд░реНрдпрдХреНрд░рдордХреЛ рд▓рд╛рдЧрд┐ рд╕рдлрд▓ рдЦреЛрдЬ рд░ рдЕрд╕рдлрд▓рддрд╛ рджреБрд╡реИрдХреЛ рдирддрд┐рдЬрд╛ рд░рд┐рдкреЛрд░реНрдЯ рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрдирдХреЛ рд▓рд╛рдЧрд┐, рд╣рд╛рдореА рдирд┐рд░реНрдорд╛рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВ if-then-elseред рдпреЛ рдХрд╕рд░реА рд╕реЗрдЯ рдЕрдк рдЧрд░рд┐рдПрдХреЛ рдЫ рдпрд╣рд╛рдБ рдЫ:

if ╨║╨╛╨╝╨░╨╜╨┤╨░
then
╨║╨╛╨╝╨░╨╜╨┤╤Л
else
╨║╨╛╨╝╨░╨╜╨┤╤Л
fi

рдпрджрд┐ рдкрд╣рд┐рд▓реЛ рдЖрджреЗрд╢рд▓реЗ рд╢реВрдиреНрдп рдлрд░реНрдХрд╛рдЙрдБрдЫ, рдЬрд╕рдХреЛ рдорддрд▓рдм рдпреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднрдПрдХреЛ рдерд┐рдпреЛ, рдЕрд╡рд╕реНрдерд╛ рд╕рддреНрдп рд╣реБрдиреЗрдЫ рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╢рд╛рдЦрд╛рд╕рдБрдЧреИ рдЬрд╛рдиреЗрдЫреИрдиред elseред рдЕрдиреНрдпрдерд╛, рдпрджрд┐ рд╢реВрдиреНрдп рдмрд╛рд╣реЗрдХ рдХреЗрд╣рд┐ рдлрд░реНрдХрд╛рдЗрдиреНрдЫ, рдЬрд╕рдХреЛ рдорддрд▓рдм рдЕрд╕рдлрд▓рддрд╛, рд╡рд╛ рдЧрд▓рдд рдкрд░рд┐рдгрд╛рдо, рдкрдЫрд┐ рдЖрджреЗрд╢рд╣рд░реВ else.

рдирд┐рдореНрди рд▓рд┐рдкрд┐ рд▓реЗрдЦреМрдВ:

#!/bin/bash
user=anotherUser
if grep $user /etc/passwd
then
echo "The user $user Exists"
else
echo "The user $user doesnтАЩt exist"
fi

рдЙрдирдХреЛ рдлрд╛рдБрд╕реАрдХреЛ рд░реЗрдЦрд╛ рддрд▓ рдЧрдпреЛ else.

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ
if-then-else рдирд┐рд░реНрдорд╛рдгрдХреЛ рд╕рд╛рде рд▓рд┐рдкрд┐ рдЪрд▓рд╛рдЙрдБрджреИ

рдареАрдХ рдЫ, рд╣рд╛рдореА рдЕрдЧрд╛рдбрд┐ рдмрдвреМрдВ рд░ рдЖрдлреИрд▓рд╛рдИ рдердк рдХрдард┐рди рдЕрд╡рд╕реНрдерд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рд╕реЛрдзреМрдВред рдХреЗ рд╣реБрдиреНрдЫ рдпрджрд┐ рддрдкрд╛рдЗрдБ рдПрдХ рд╢рд░реНрдд рд╣реЛрдЗрди, рддрд░ рдзреЗрд░реИ рдЬрд╛рдБрдЪ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ? рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдлреЗрд▓рд╛ рдкрд░реНрдпреЛ рднрдиреЗ, рдПрдЙрдЯрд╛ рд╕рдиреНрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реБрдиреБрдкрд░реНрдЫ, рдпрджрд┐ рдХреЗрд╣реА рдЕрдиреНрдп рд╢рд░реНрддрд╣рд░реВ рдкреВрд░рд╛ рднрдПрдорд╛, рдЕрд░реНрдХреЛ рд╕рдиреНрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реБрдиреБрдкрд░реНрдЫ, рд░ рдпрд╕реНрддреИред рдпрд╕реНрддреЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдиреЗрд╕реНрдЯреЗрдб рдЕрд╡рд╕реНрдерд╛рд╣рд░реВрд▓реЗ рд╣рд╛рдореАрд▓рд╛рдИ рдорджреНрджрдд рдЧрд░реНрдиреЗрдЫред рдпреЛ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:

if ╨║╨╛╨╝╨░╨╜╨┤╨░1
then
╨║╨╛╨╝╨░╨╜╨┤╤Л
elif ╨║╨╛╨╝╨░╨╜╨┤╨░2
then
╨║╨╛╨╝╨░╨╜╨┤╤Л
fi

рдпрджрд┐ рдкрд╣рд┐рд▓реЛ рдЖрджреЗрд╢рд▓реЗ рд╢реВрдиреНрдп рдлрд░реНрдХрд╛рдЙрдБрдЫ, рдЬрд╕рд▓реЗ рдпрд╕рдХреЛ рд╕рдлрд▓ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓рд╛рдИ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫ, рдкрд╣рд┐рд▓реЛ рдмреНрд▓рдХрдорд╛ рдЖрджреЗрд╢рд╣рд░реВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдиреЗрдЫред then, рдЕрдиреНрдпрдерд╛, рдпрджрд┐ рдкрд╣рд┐рд▓реЛ рд╕рд░реНрдд рдЧрд▓рдд рдЫ, рд░ рдпрджрд┐ рджреЛрд╕реНрд░реЛ рдЖрджреЗрд╢рд▓реЗ рд╢реВрдиреНрдп рдлрд░реНрдХрд╛рдЙрдБрдЫ рднрдиреЗ, рдХреЛрдбрдХреЛ рджреЛрд╕реНрд░реЛ рдмреНрд▓рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдиреЗрдЫред

#!/bin/bash
user=anotherUser
if grep $user /etc/passwd
then
echo "The user $user Exists"
elif ls /home
then
echo "The user doesnтАЩt exist but anyway there is a directory under /home"
fi

рдпрд╕реНрддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдорд╛, рддрдкрд╛рдЗрдБ, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдирдпрд╛рдБ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ useradd, рдпрджрд┐ рдЦреЛрдЬреАрд▓реЗ рдХреБрдиреИ рдирддрд┐рдЬрд╛ рдлрд┐рд░реНрддрд╛ рд▓реНрдпрд╛рдПрди рднрдиреЗ, рд╡рд╛ рдЕрд░реВ рдХреЗрд╣реА рдЙрдкрдпреЛрдЧреА рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рд╕рдВрдЦреНрдпрд╛ рддреБрд▓рдирд╛

рд▓рд┐рдкрд┐рд╣рд░реВрдорд╛, рддрдкрд╛рдЗрдБ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рдирд╣рд░реВ рддреБрд▓рдирд╛ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддрд▓ рд╕рд╛рдиреНрджрд░реНрднрд┐рдХ рдЖрджреЗрд╢рд╣рд░реВрдХреЛ рд╕реВрдЪреА рдЫред

n1 -eq n2рдпрджрд┐ рд╕рд╣реА рдлрд░реНрдХрд╛рдЙрдБрдЫ n1 рдмрд░рд╛рдмрд░реА n2.
n1 -ge n2 рдпрджрд┐ рд╕рд╣реА рдлрд░реНрдХрд╛рдЙрдБрдЫ n1рдмрдвреА рд╡рд╛ рдмрд░рд╛рдмрд░ n2.
n1 -gt n2рдпрджрд┐ рд╕рд╣реА рдлрд░реНрдХрд╛рдЙрдБрдЫ n1 рднрдиреНрджрд╛ рдмрдвреА n2.
n1 -le n2рдпрджрд┐ рд╕рд╣реА рдлрд░реНрдХрд╛рдЙрдБрдЫ n1рдХрдо рд╡рд╛ рдмрд░рд╛рдмрд░ n2.
n1 -lt n2n1 рднрдиреНрджрд╛ рдХрдо рднрдПрдорд╛ true рдлрд░реНрдХрд╛рдЙрдБрдЫ n2.
n1 -ne n2рдпрджрд┐ рд╕рд╣реА рдлрд░реНрдХрд╛рдЙрдБрдЫ n1рдмрд░рд╛рдмрд░ рдЫреИрди n2.

рдЙрджрд╛рд╣рд░рдгрдХреЛ рд░реВрдкрдорд╛, рддреБрд▓рдирд╛рддреНрдордХ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ рдордзреНрдпреЗ рдПрдХ рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВред рдзреНрдпрд╛рди рджрд┐рдиреБрд╣реЛрд╕реН рдХрд┐ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╡рд░реНрдЧ рдХреЛрд╖реНрдардХрдорд╛ рд╕рдВрд▓рдЧреНрди рдЫред

#!/bin/bash
val1=6
if [ $val1 -gt 5 ]
then
echo "The test value $val1 is greater than 5"
else
echo "The test value $val1 is not greater than 5"
fi

рдпрд╣рд╛рдБ рдХреЗ рдпреЛ рдЖрджреЗрд╢ рдЖрдЙрдЯрдкреБрдЯ рд╣реБрдиреЗрдЫред

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ
рд▓рд┐рдкрд┐рд╣рд░реВрдорд╛ рд╕рдВрдЦреНрдпрд╛рд╣рд░реВ рддреБрд▓рдирд╛ рдЧрд░реНрджреИ

рдЪрд░ рдорд╛рди val15 рднрдиреНрджрд╛ рдмрдвреА, рдЕрдиреНрддрддрдГ рд╢рд╛рдЦрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реБрдиреНрдЫ thenрддреБрд▓рдирд╛ рдЕрдкрд░реЗрдЯрд░ рд░ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╕рдиреНрджреЗрд╢ рдХрдиреНрд╕реЛрд▓рдорд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реБрдиреНрдЫред

рд╕реНрдЯреНрд░рд┐рдЩ рддреБрд▓рдирд╛

рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрд▓реЗ рд╕реНрдЯреНрд░рд┐рдЩ рдорд╛рдирд╣рд░реВ рдкрдирд┐ рддреБрд▓рдирд╛ рдЧрд░реНрди рд╕рдХреНрдЫрдиреНред рддреБрд▓рдирд╛ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ рдПрдХрджрдо рд╕рд░рд▓ рджреЗрдЦрд┐рдиреНрдЫрдиреН, рддрд░ рд╕реНрдЯреНрд░рд┐рдЩ рддреБрд▓рдирд╛ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВрд╕рдБрдЧ рдХреЗрд╣реА рд╡рд┐рд╢рд┐рд╖реНрдЯрддрд╛рд╣рд░реВ рдЫрдиреН, рдЬрд╕рд▓рд╛рдИ рд╣рд╛рдореА рддрд▓ рдЫреБрдиреЗрдЫреМрдВред рдпрд╣рд╛рдБ рдЕрдкрд░реЗрдЯрд░рд╣рд░реВрдХреЛ рд╕реВрдЪреА рдЫред

str1 = str2 рд╕рдорд╛рдирддрд╛рдХрд╛ рд▓рд╛рдЧрд┐ рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрджрдЫ, рдпрджрд┐ рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ рд╕рдорд╛рди рдЫрдиреН рднрдиреЗ рд╕рд╣реА рдлрд░реНрдХрд╛рдЙрдБрдЫред
str1 != str2рдпрджрд┐ рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ рд╕рдорд╛рди рдЫреИрдирдиреН рднрдиреЗ рд╕рд╣реА рдлрд░реНрдХрд╛рдЙрдБрдЫред
str1 < str2рдпрджрд┐ рд╕рд╣реА рдлрд░реНрдХрд╛рдЙрдБрдЫ str1рднрдиреНрджрд╛ рдХрдо str2.
str1 > str2 рдпрджрд┐ рд╕рд╣реА рдлрд░реНрдХрд╛рдЙрдБрдЫ str1рдзреЗрд░реИ str2.
-n str1 рд▓рдореНрдмрд╛рдЗ рднрдПрдорд╛ true рдлрд░реНрдХрд╛рдЙрдБрдЫ str1рд╢реВрдиреНрдп рднрдиреНрджрд╛ рдорд╛рдерд┐ред
-z str1рд▓рдореНрдмрд╛рдЗ рднрдПрдорд╛ true рдлрд░реНрдХрд╛рдЙрдБрдЫ str1рд╢реВрдиреНрдп рдмрд░рд╛рдмрд░ред

рдпрд╣рд╛рдБ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдорд╛ рд╕реНрдЯреНрд░рд┐рдЩ рддреБрд▓рдирд╛рдХреЛ рдЙрджрд╛рд╣рд░рдг рд╣реЛ:

#!/bin/bash
user ="likegeeks"
if [$user = $USER]
then
echo "The user $user  is the current logged in user"
fi

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рдкрд░рд┐рдгрд╛рдордХреЛ рд░реВрдкрдорд╛, рд╣рд╛рдореАрд▓реЗ рдирд┐рдореНрди рдкрд╛рдЙрдБрдЫреМрдВред

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ
рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрдорд╛ рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ рддреБрд▓рдирд╛ рдЧрд░реНрджреИ

рдпрд╣рд╛рдБ рд╕реНрдЯреНрд░рд┐рдЩ рддреБрд▓рдирд╛рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реЛ рдЬреБрди рдЙрд▓реНрд▓реЗрдЦ рдЧрд░реНрди рд▓рд╛рдпрдХ рдЫред рдЕрд░реНрдерд╛рддреН, ">" рд░ "<" рдЕрдкрд░реЗрдЯрд░рд╣рд░реВ рдмреНрдпрд╛рдХрд╕реНрд▓реНрдпрд╛рд╢рдХреЛ рд╕рд╛рде рдмрдЪрд╛рдЙрдиреБ рдкрд░реНрдЫ, рдЕрдиреНрдпрдерд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗ рдареАрдХрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рдЫреИрди, рдпрджреНрдпрдкрд┐ рдХреБрдиреИ рддреНрд░реБрдЯрд┐ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рджреЗрдЦрд╛ рдкрд░реНрджреИрдиред рд╕реНрдХреНрд░рд┐рдкреНрдЯрд▓реЗ ">" рдЪрд┐рдиреНрд╣рд▓рд╛рдИ рдЖрдЙрдЯрдкреБрдЯ рд░рд┐рдбрд┐рд░реЗрдХреНрдЯ рдЧрд░реНрди рдЖрджреЗрд╢рдХреЛ рд░реВрдкрдорд╛ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЧрд░реНрджрдЫред

рдХреЛрдбрдорд╛ рдпреА рдЕрдкрд░реЗрдЯрд░рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рддрд░рд┐рдХрд╛ рдпрд╣рд╛рдБ рдЫ:

#!/bin/bash
val1=text
val2="another text"
if [ $val1 > $val2 ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi

рдпрд╣рд╛рдБ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдХреЛ рдирддрд┐рдЬрд╛рд╣рд░реВ рдЫрдиреНред

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ
рд╕реНрдЯреНрд░рд┐рдЩ рддреБрд▓рдирд╛, рдЪреЗрддрд╛рд╡рдиреА рдлреНрдпрд╛рдБрдХрд┐рдпреЛ

рдиреЛрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдпрджреНрдпрдкрд┐ рдпреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднрдЗрд░рд╣реЗрдХреЛ рдЫ, рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдиреНрдЫ:

./myscript: line 5: [: too many arguments

рдпрд╕ рдЪреЗрддрд╛рд╡рдиреАрдмрд╛рдЯ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдЙрди, рд╣рд╛рдореА рдирд┐рд╖реНрдХрд░реНрд╖рдорд╛ рдкреБрдЧреНрдЫреМрдВ $val2 рджреЛрд╣реЛрд░реЛ рдЙрджреНрдзрд░рдгрдорд╛:

#!/bin/bash
val1=text
val2="another text"
if [ $val1 > "$val2" ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi

рдЕрдм рд╕рдмреИ рдХреБрд░рд╛ рдЬрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдиреБрдкрд░реНрджрдЫред

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ
рд╕реНрдЯреНрд░рд┐рдЩ рддреБрд▓рдирд╛

">" рд░ "<" рдЕрдкрд░реЗрдЯрд░рд╣рд░реВрдХреЛ рдЕрд░реНрдХреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ рднрдиреЗрдХреЛ рдЙрдиреАрд╣рд░реВрд▓реЗ рдЕрдкрд░рдХреЗрд╕ рд░ рд▓реЛрдЕрд░рдХреЗрд╕ рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░рд╣рд░реВрд╕рдБрдЧ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫрдиреНред рдпреЛ рд╕реБрд╡рд┐рдзрд╛ рдмреБрдЭреНрдирдХреЛ рд▓рд╛рдЧрд┐, рдирд┐рдореНрди рд╕рд╛рдордЧреНрд░реАрдХреЛ рд╕рд╛рде рдкрд╛рда рдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдЧрд░реМрдВ:

Likegeeks
likegeeks

рдирд╛рдо рд╕рдВрдЧ рдмрдЪрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН myfileрд░ рддреНрдпрд╕рдкрдЫрд┐ рдЯрд░реНрдорд┐рдирд▓рдорд╛ рдирд┐рдореНрди рдЖрджреЗрд╢ рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реН:

sort myfile

рдпрд╕рд▓реЗ рдлрд╛рдЗрд▓рдмрд╛рдЯ рд░реЗрдЦрд╛рд╣рд░реВрд▓рд╛рдИ рдпрд╕рд░реА рдХреНрд░рдордмрджреНрдз рдЧрд░реНрдиреЗрдЫ:

likegeeks
Likegeeks

рдЯреЛрд▓реА sort, рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛, рдЖрд░реЛрд╣реА рдХреНрд░рдордорд╛ рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ рдХреНрд░рдордмрджреНрдз рдЧрд░реНрджрдЫ, рдпрд╕рдХреЛ рдЕрд░реНрде рд╣рд╛рдореНрд░реЛ рдЙрджрд╛рд╣рд░рдгрдорд╛ рд╕рд╛рдиреЛ рдЕрдХреНрд╖рд░ рдареВрд▓реЛ рдЕрдХреНрд╖рд░ рднрдиреНрджрд╛ рдХрдо рдЫред рдЕрдм рдПрдЙрдЯреИ рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ рддреБрд▓рдирд╛ рдЧрд░реНрдиреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддрдпрд╛рд░ рдЧрд░реМрдВ:

#!/bin/bash
val1=Likegeeks
val2=likegeeks
if [ $val1 > $val2 ]
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi

рдпрджрд┐ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдЪрд▓рд╛рдЙрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпреЛ рдЙрд▓реНрдЯреЛ рд╕рддреНрдп рд╣реЛ - рд╕рд╛рдиреЛ рдЕрдХреНрд╖рд░ рдЕрдм рдареВрд▓реЛ рдЕрдХреНрд╖рд░ рднрдиреНрджрд╛ рдареВрд▓реЛ рдЫред

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ
рдХреНрд░рдордмрджреНрдз рдЖрджреЗрд╢ рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╛рдЗрд▓рдорд╛ рд╕реНрдЯреНрд░рд┐рдЩ рддреБрд▓рдирд╛

рддреБрд▓рдирд╛ рдЖрджреЗрд╢рд╣рд░реВрдорд╛, рдЕрдкрд░рдХреЗрд╕ рдЕрдХреНрд╖рд░рд╣рд░реВ рд▓реЛрдЕрд░рдХреЗрд╕ рдЕрдХреНрд╖рд░рд╣рд░реВ рднрдиреНрджрд╛ рд╕рд╛рдирд╛ рд╣реБрдиреНрдЫрдиреНред рдпрд╣рд╛рдБ рд╕реНрдЯреНрд░рд┐рдЩ рддреБрд▓рдирд╛ ASCII рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ рдХреЛрдбрд╣рд░реВ рддреБрд▓рдирд╛ рдЧрд░реЗрд░ рдЧрд░рд┐рдиреНрдЫ, рдХреНрд░рдордмрджреНрдз рдХреНрд░рдо рдХреНрдпрд╛рд░реЗрдХреНрдЯрд░ рдХреЛрдбрд╣рд░реВрдорд╛ рдирд┐рд░реНрднрд░ рд╣реБрдиреНрдЫред

рдЯреЛрд▓реА sort, рдмрджрд▓рд╛рдорд╛, рдкреНрд░рдгрд╛рд▓реА рднрд╛рд╖рд╛ рд╕реЗрдЯрд┐рдЩрд╣рд░реВрдорд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреНрд░рдордмрджреНрдз рдХреНрд░рдо рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред

рдлрд╛рдЗрд▓ рдЬрд╛рдБрдЪрд╣рд░реВ

рд╕рд╛рдпрдж рддрд▓рдХрд╛ рдЖрджреЗрд╢рд╣рд░реВ рдкреНрд░рд╛рдпрдГ bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рддрд┐рдиреАрд╣рд░реВрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рд╕рдиреНрджрд░реНрднрдорд╛ рд╡рд┐рднрд┐рдиреНрди рд╕рд░реНрддрд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдпрд╣рд╛рдБ рдпреА рдЖрджреЗрд╢рд╣рд░реВрдХреЛ рд╕реВрдЪреА рдЫред

-d fileрдпрджрд┐ рдлрд╛рдЗрд▓ рдЕрд╡рд╕реНрдерд┐рдд рдЫ рднрдиреЗ рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫ рд░ рдпрджрд┐ рдпреЛ рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реА рд╣реЛред
-e fileрдпрджрд┐ рдлрд╛рдЗрд▓ рдЕрд╡рд╕реНрдерд┐рдд рдЫ рднрдиреЗ рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫред
-f file рдпрджрд┐ рдлрд╛рдЗрд▓ рдЕрд╡рд╕реНрдерд┐рдд рдЫ рд░ рдпрджрд┐ рдпреЛ рдлрд╛рдЗрд▓ рд╣реЛ рднрдиреЗ рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫред
-r fileрдлрд╛рдЗрд▓ рдЕрд╡рд╕реНрдерд┐рдд рдЫ рд░ рдкрдвреНрди рдпреЛрдЧреНрдп рдЫ рдХрд┐ рдЫреИрди рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫред
-s file ╨Ярдлрд╛рдЗрд▓ рдЕрд╡рд╕реНрдерд┐рдд рдЫ рд░ рдЦрд╛рд▓реА рдЫреИрди рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫред
-w fileрдлрд╛рдЗрд▓ рдЕрд╡рд╕реНрдерд┐рдд рдЫ рд░ рд▓реЗрдЦреНрди рдпреЛрдЧреНрдп рдЫ рдХрд┐ рдЫреИрди рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫред
-x fileрдлрд╛рдЗрд▓ рдЕрд╡рд╕реНрдерд┐рдд рдЫ рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдпреЛрдЧреНрдп рдЫ рдХрд┐ рдЫреИрди рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫред
file1 -nt file2 рдпреЛ рдирдпрд╛рдБ рдЫ рдХрд┐ рдЫреИрди рдЬрд╛рдБрдЪреНрдЫ file1рднрдиреНрджрд╛ file2.
file1 -ot file2рдкреБрд░рд╛рдиреЛ рднрдПрдорд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрдЫ file1рднрдиреНрджрд╛ file2.
-O file рдлрд╛рдЗрд▓ рдЕрд╡рд╕реНрдерд┐рдд рдЫ рд░ рд╣рд╛рд▓рдХреЛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рд╕реНрд╡рд╛рдорд┐рддреНрд╡рдорд╛ рдЫ рдХрд┐ рдЫреИрди рднрдиреА рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫред
-G fileрдпрджрд┐ рдлрд╛рдЗрд▓ рдЕрд╡рд╕реНрдерд┐рдд рдЫ рд░ рдпрджрд┐ рдпрд╕рдХреЛ рд╕рдореВрд╣ ID рд╣рд╛рд▓рдХреЛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рд╕рдореВрд╣ ID рд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдиреНрдЫ рднрдиреЗ рдЬрд╛рдБрдЪ рдЧрд░реНрджрдЫред

рдпреА рдЖрджреЗрд╢рд╣рд░реВ, рд╕рд╛рдереИ рдЖрдЬ рдЫрд▓рдлрд▓ рдЧрд░рд┐рдПрдХрд╛ рдЕрд░реВ рдзреЗрд░реИ, рд╕рдореНрдЭрди рд╕рдЬрд┐рд▓реЛ рдЫред рддрд┐рдиреАрд╣рд░реВрдХрд╛ рдирд╛рдорд╣рд░реВ, рд╡рд┐рднрд┐рдиреНрди рд╢рдмреНрджрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдкрдорд╛, рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреЗ рдЬрд╛рдБрдЪрд╣рд░реВ рд╕рд┐рдзреИ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫред

рдЕрднреНрдпрд╛рд╕рдорд╛ рдЖрджреЗрд╢рд╣рд░реВ рдордзреНрдпреЗ рдПрдЙрдЯрд╛ рдкреНрд░рдпрд╛рд╕ рдЧрд░реМрдВ:

#!/bin/bash
mydir=/home/likegeeks
if [ -d $mydir ]
then
echo "The $mydir directory exists"
cd $ mydir
ls
else
echo "The $mydir directory does not exist"
fi

рдпреЛ рд▓рд┐рдкрд┐, рдЕрд╡рд╕реНрдерд┐рдд рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдХреЛ рд▓рд╛рдЧрд┐, рдпрд╕рдХреЛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреЗрдЫред

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ
рдбрд╛рдЗрд░реЗрдХреНрдЯрд░реАрдХрд╛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рд╕реВрдЪреАрдмрджреНрдз рдЧрд░реНрджреИ

рд╣рд╛рдореА рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЧрд░реНрдЫреМрдВ рдХрд┐ рддрдкрд╛рдИрд▓реЗ рдмрд╛рдБрдХреА рдЖрджреЗрд╢рд╣рд░реВ рдЖрдлреИрдВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддреА рд╕рдмреИ рдПрдЙрдЯреИ рд╕рд┐рджреНрдзрд╛рдиреНрдд рдЕрдиреБрд╕рд╛рд░ рд▓рд╛рдЧреВ рд╣реБрдиреНрдЫрдиреНред

рдкрд░рд┐рдгрд╛рдорд╣рд░реВ

рдЖрдЬ рд╣рд╛рдореАрд▓реЗ рдмреНрдпрд╛рд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рдХрд╕рд░реА рд▓реЗрдЦреНрди рд╕реБрд░реБ рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рдХреБрд░рд╛ рдЧрд░реНрдпреМрдВ рд░ рдХреЗрд╣реА рдЖрдзрд╛рд░рднреВрдд рдХреБрд░рд╛рд╣рд░реВ рдХрднрд░ рдЧрд░реНрдпреМрдВред рд╡рд╛рд╕реНрддрд╡рдорд╛, bash рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЛ рд╡рд┐рд╖рдп рдареВрд▓реЛ рдЫред рдпреЛ рд▓реЗрдЦ 11 рд╕рд╛рдордЧреНрд░реАрд╣рд░реВрдХреЛ рдареВрд▓реЛ рд╢реНрд░реГрдВрдЦрд▓рд╛рдХреЛ рдкрд╣рд┐рд▓реЛ рднрд╛рдЧрдХреЛ рдЕрдиреБрд╡рд╛рдж рд╣реЛред рдпрджрд┐ рддрдкрд╛рдИрдВ рдЕрд╣рд┐рд▓реЗ рдЬрд╛рд░реА рд░рд╛рдЦреНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпрд╣рд╛рдБ рдпреА рд╕рд╛рдордЧреНрд░реАрд╣рд░реВрдХреЛ рдореВрд▓ рд╕реВрдЪреА рдЫред рд╕реБрд╡рд┐рдзрд╛рдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рднрд░реНрдЦрд░реИ рдкрдвреНрдиреБрднрдПрдХреЛ рдЕрдиреБрд╡рд╛рдж рдпрд╣рд╛рдБ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░рд┐рдПрдХреЛ рдЫред

  1. Bash рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд░рдг рджреНрд╡рд╛рд░рд╛ рдЪрд░рдг - рдпрд╣рд╛рдБ рд╣рд╛рдореА рдХрд╕рд░реА bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд╕реБрд░реБ рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рдХреБрд░рд╛ рдЧрд░реНрджреИрдЫреМрдВ, рдЪрд░рд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧрд▓рд╛рдИ рд╡рд┐рдЪрд╛рд░ рдЧрд░рд┐рдиреНрдЫ, рд╕рд╢рд░реНрдд рдирд┐рд░реНрдорд╛рдгрд╣рд░реВ, рдЧрдгрдирд╛рд╣рд░реВ, рд╕рдВрдЦреНрдпрд╛рд╣рд░реВрдХреЛ рддреБрд▓рдирд╛, рд╕реНрдЯреНрд░рд┐рдЩрд╣рд░реВ, рдлрд╛рдЗрд▓рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрдиреЗ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЫред
  2. Bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдЩ рднрд╛рдЧ реи, Bash the awesome - рдпрд╣рд╛рдБ рд▓реВрдкрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд░ рд╣реБрдБрджрд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдкреНрд░рдХрдЯ рд╣реБрдиреНрдЫрдиреНред
  3. рдмреНрдпрд╛рд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдЩ рднрд╛рдЧ рей, рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ рд░ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ - рдпреЛ рд╕рд╛рдордЧреНрд░реА рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрди рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рд░ рдХреБрдЮреНрдЬреАрд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдкрд┐рдд рдЫ рдЬреБрди рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрдорд╛ рдкрд╛рд╕ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд▓реЗ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реЗрдХреЛ рдбрд╛рдЯрд╛рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджрдЫ рд░ рдлрд╛рдЗрд▓рд╣рд░реВрдмрд╛рдЯ рдкрдвреНрди рд╕рдХрд┐рдиреНрдЫред
  4. Bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдЩ рднрд╛рдЧ 4, рдЗрдирдкреБрдЯ рд░ рдЖрдЙрдЯрдкреБрдЯ - рдпрд╣рд╛рдБ рд╣рд╛рдореА рдлрд╛рдЗрд▓ рд╡рд░реНрдгрдирдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрджреИрдЫреМрдВ рд░ рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрджреИрдЫреМрдВ, рдЗрдирдкреБрдЯ, рдЖрдЙрдЯрдкреБрдЯ, рддреНрд░реБрдЯрд┐рд╣рд░реВ, рдЖрдЙрдЯрдкреБрдЯ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ред
  5. рдмрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдЩ рднрд╛рдЧ рел, рд╕рд┐рдЧрд▓ рд░ рд░реЛрдЬрдЧрд╛рд░ тАФ рдпреЛ рд╕рд╛рдордЧреНрд░реА рд▓рд┐рдирдХреНрд╕ рд╕рдВрдХреЗрддрд╣рд░реВ, рд▓рд┐рдкрд┐рд╣рд░реВрдорд╛ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдкреНрд░рд╢реЛрдзрди, рдЕрдиреБрд╕реВрдЪрд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рдХреНрд╖реЗрдкрдгрдорд╛ рд╕рдорд░реНрдкрд┐рдд рдЫред
  6. Bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдЩ рднрд╛рдЧ 6, рдХрд╛рд░реНрдпрд╣рд░реВ - рдпрд╣рд╛рдБ рддрдкрд╛рдЗрдБ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрдорд╛ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рд╕рд┐рдХреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдиреЗ рдмрд╛рд░реЗред
  7. Bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдЩ рднрд╛рдЧ 7, sed рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ - рдпреЛ рд▓реЗрдЦ sed рд╕реНрдЯреНрд░рд┐рдо рдкрд╛рда рд╕рдореНрдкрд╛рджрдХрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рд╣реЛред
  8. Bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдЩ рднрд╛рдЧ 8, awk рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ - рдпреЛ рд╕рд╛рдордЧреНрд░реА awk рдбрд╛рдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдЩ рднрд╛рд╖рд╛рдорд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдЩ рдЧрд░реНрди рд╕рдорд░реНрдкрд┐рдд рдЫред
  9. Bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдЩ рднрд╛рдЧ 9, рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ - рдпрд╣рд╛рдБ рддрдкрд╛рдЗрдБ bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрдорд╛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдХреЛ рдкреНрд░рдпреЛрдЧрдХреЛ рдмрд╛рд░реЗрдорд╛ рдкрдвреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред
  10. Bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдЩ рднрд╛рдЧ 10, рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ - рдпрд╣рд╛рдБ рд╕рдиреНрджреЗрд╢рд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдиреЗ рддрд░рд┐рдХрд╛рд╣рд░реВ рдЫрдиреН рдЬреБрди рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рдкрдард╛рдЙрди рд╕рдХрд┐рдиреНрдЫ, рд╕рд╛рдереИ рдбрд┐рд╕реНрдХ рдирд┐рдЧрд░рд╛рдиреАрдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рд╡рд┐рдзрд┐ред
  11. Bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдЩ рднрд╛рдЧ 11, рдЖрджреЗрд╢ рдЕрдкреЗрдХреНрд╖рд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН - рдпреЛ рд╕рд╛рдордЧреНрд░реА рдЕрдкреЗрдХреНрд╖рд╛ рдЙрдкрдХрд░рдгрдорд╛ рд╕рдорд░реНрдкрд┐рдд рдЫ, рдЬрд╕рдХреЛ рд╕рд╛рде рддрдкрд╛рдИрдВ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВрд╕рдБрдЧ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рд╡рд┐рд╢реЗрд╖ рдЧрд░реА, рдпреЛ рдЕрдкреЗрдХреНрд╖рд╛ рд▓рд┐рдкрд┐рд╣рд░реВ рд░ рддрд┐рдиреАрд╣рд░реВрд▓реЗ bash рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рд░ рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВрд╕рдБрдЧ рдХрд╕рд░реА рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрдЫрдиреН рднрдиреНрдиреЗ рдмрд╛рд░реЗ рд╣реЛред

рд╣рд╛рдореАрд▓рд╛рдИ рд▓рд╛рдЧреНрдЫ рдХрд┐ рд▓реЗрдЦрд╣рд░реВрдХреЛ рдпрд╕ рд╢реГрдЩреНрдЦрд▓рд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдПрдЙрдЯрд╛ рдареВрд▓реЛ рдХреБрд░рд╛ рдпреЛ рд╣реЛ рдХрд┐ рдпреЛ рд╕рдмреИрднрдиреНрджрд╛ рдЖрдзрд╛рд░рднреВрддрдмрд╛рдЯ рд╕реБрд░реБ рд╣реБрдиреНрдЫ, рдХреБрдиреИ рдкрдирд┐ рд╕реНрддрд░рдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдЙрдкрдпреБрдХреНрдд рд╣реБрдиреНрдЫ, рдмрд┐рд╕реНрддрд╛рд░реИ рдзреЗрд░реИ рдЧрдореНрднреАрд░ рд╡рд┐рд╖рдпрд╣рд░реВрдорд╛ рдЬрд╛рдиреНрдЫ, рдЬрд╕рд▓реЗ рд╕рдмреИрд▓рд╛рдИ рд▓рд┐рдирдХреНрд╕ рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрди рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдЩрдорд╛ рдЕрдЧрд╛рдбрд┐ рдмрдвреНрдиреЗ рдореМрдХрд╛ рджрд┐рдиреНрдЫред

рдкреНрд░рд┐рдп рдкрд╛рдардХрд╣рд░реВ! рд╣рд╛рдореА bash-programming рдЧреБрд░реБрд╣рд░реВрд▓рд╛рдИ рдЙрдиреАрд╣рд░реВ рдХрд╕рд░реА рдирд┐рдкреБрдгрддрд╛рдХреЛ рдЙрдЪрд╛рдЗрдорд╛ рдкреБрдЧреЗ рднрдиреНрдиреЗ рдмрд╛рд░реЗ рдХреБрд░рд╛ рдЧрд░реНрди рд╕реЛрдзреНрдЫреМрдВ, рдЧреЛрдкреНрдп рдХреБрд░рд╛рд╣рд░реВ рд╕рд╛рдЭрд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд░ рд╣рд╛рдореА рднрд░реНрдЦрд░ рдЖрдлреНрдиреЛ рдкрд╣рд┐рд▓реЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЗрдЦреНрдиреЗрд╣рд░реВрдмрд╛рдЯ рдкреНрд░рднрд╛рд╡рдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрдЦрд┐рд░рд╣реЗрдХрд╛ рдЫреМрдВред

рдмреНрдпрд╛рд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ: рд╕реБрд░реБ рдЧрд░реНрджреИ

рджрд░реНрддрд╛ рднрдПрдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорд╛рддреНрд░ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрдорд╛ рднрд╛рдЧ рд▓рд┐рди рд╕рдХреНрдЫрдиреНред рд╕рд╛рдЗрди рдЗрди рдЧрд░реНрдиреБрд╣реЛрд╕реНрдХреГрдкрдпрд╛

рд▓реЗрдЦрд╣рд░реВрдХреЛ рдмрд╛рдБрдХреА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЕрдиреБрд╡рд╛рдж рдЧрд░реНрдиреБрд╣реЛрд╕реН?

  • рд╣реЛ!

  • рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЫреИрди

1030 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорддрджрд╛рди рдЧрд░реЗред 106 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рд░реЛрдХрд┐рдПред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди