рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕: рд╕реБрд░реБрд╡рд╛рдд

рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕: рд╕реБрд░реБрд╡рд╛рдд
рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рднрд╛рдЧ 2: рд▓реВрдк
рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕, рднрд╛рдЧ 3: рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░реНрдпрд╛рдп рдЖрдгрд┐ рд╕реНрд╡рд┐рдЪреЗрд╕
рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рднрд╛рдЧ 4: рдЗрдирдкреБрдЯ рдЖрдгрд┐ рдЖрдЙрдЯрдкреБрдЯ
рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕, рднрд╛рдЧ 5: рд╕рд┐рдЧреНрдирд▓, рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА рдХрд╛рд░реНрдпреЗ, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди
рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕, рднрд╛рдЧ 6: рдХрд╛рд░реНрдпреЗ рдЖрдгрд┐ рдЧреНрд░рдВрдерд╛рд▓рдп рд╡рд┐рдХрд╛рд╕
рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕, рднрд╛рдЧ 7: sed рдЖрдгрд┐ рд╡рд░реНрдб рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ
рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕, рднрд╛рдЧ 8: awk рдбреЗрдЯрд╛ рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рднрд╛рд╖рд╛
рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рднрд╛рдЧ 9: рд░реЗрдЧреНрдпреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рдиреНрд╕
рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рднрд╛рдЧ 10: рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджрд╛рд╣рд░рдгреЗ
рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕, рднрд╛рдЧ 11: рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡реНрд╣ рдпреБрдЯрд┐рд▓рд┐рдЯреАрдЬрдЪреА рдЕрдкреЗрдХреНрд╖рд╛ рдЖрдгрд┐ рдСрдЯреЛрдореЗрд╢рди

рдЖрдЬ рдЖрдкрдг рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕рдмрджреНрджрд▓ рдмреЛрд▓реВ. рд╣реЗ - рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕, рдмреЕрд╢ рд╢реЗрд▓рд╕рд╛рдареА рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЖрд╣реЗ. рдЗрддрд░ рд╢реЗрд▓ рдЖрд╣реЗрдд рдЬрд╕реЗ рдХреА zsh, tcsh, ksh, рдкрд░рдВрддреБ рдЖрдореНрд╣реА bash рд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реВ. рд╣реА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рддреНрдпреЗрдХрд╛рд╕рд╛рдареА рдЖрд╣реЗ, рдлрдХреНрдд рдЕрдЯ рдореНрд╣рдгрдЬреЗ рдХрд╛рдо рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд▓рд┐рдирдХреНрд╕

рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕: рд╕реБрд░реБрд╡рд╛рдд

рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рд╣реЗ рддреНрдпрд╛рдЪ рдХрдорд╛рдВрдбрдЪреЗ рд╕рдВрдЧреНрд░рд╣ рдЖрд╣реЗрдд рдЬреЗ рдХреАрдмреЛрд░реНрдбрд╡рд░реВрди рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдлрд╛рдпрд▓реАрдВрдордзреНрдпреЗ рдПрдХрддреНрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд рдЖрдгрд┐ рдХрд╛рд╣реА рд╕рд╛рдорд╛рдиреНрдп рд╣реЗрддреВрдиреЗ рдПрдХрддреНрд░ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд. рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд, рд╕рдВрдШрд╛рдВрдЪреНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдЪреЗ рдкрд░рд┐рдгрд╛рдо рдПрдХрддрд░ рд╕реНрд╡рддрдВрддреНрд░ рдореВрд▓реНрдпрд╛рдЪреЗ рдЕрд╕реВ рд╢рдХрддрд╛рдд рдХрд┐рдВрд╡рд╛ рдЗрддрд░ рд╕рдВрдШрд╛рдВрд╕рд╛рдареА рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдореНрд╣рдгреВрди рдХрд╛рдо рдХрд░реВ рд╢рдХрддрд╛рдд. рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣рд╛ рд╡рд╛рд░рдВрд╡рд╛рд░ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рдгрд╛рд░реНтАНрдпрд╛ рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдорд╛рд░реНрдЧ рдЖрд╣реЗ.

рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕: рд╕реБрд░реБрд╡рд╛рдд

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

pwd ; whoami

рдЦрд░рдВ рддрд░, рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рдЯрд░реНрдорд┐рдирд▓рдордзреНрдпреЗ рд╣реЗ рдХрд░реВрди рдкрд╛рд╣рд┐рд▓реНрдпрд╛рд╕, рддреБрдордЪреА рдкрд╣рд┐рд▓реА рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреНрдпрд╛рдордзреНрдпреЗ рджреЛрди рдХрдорд╛рдВрдбреНрд╕ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд рдЖрдзреАрдЪ рд▓рд┐рд╣рд┐рд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗрдд. рд╣реЗ рдЕрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ. рдкреНрд░рдердо рд╕рдВрдШ pwd рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдпрд░рдд рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ, рдирдВрддрд░ рдХрдорд╛рдВрдб whoamiрддреБрдореНрд╣реА рд▓реЙрдЧ рдЗрди рдХреЗрд▓реЗрд▓реНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреА рдорд╛рд╣рд┐рддреА рджрд╛рдЦрд╡рддреЗ.

рд╣рд╛ рджреГрд╖реНрдЯреАрдХреЛрди рд╡рд╛рдкрд░реВрди, рдЖрдкрдг рдПрдХрд╛ рдУрд│реАрд╡рд░ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ рддрд┐рддрдХреНрдпрд╛ рдХрдорд╛рдВрдбреНрд╕ рдПрдХрддреНрд░ рдХрд░реВ рд╢рдХрддрд╛, рдлрдХреНрдд рдорд░реНрдпрд╛рджрд╛ рд╣реА рдЖрд╣реЗ рдХреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд▓рд╛ рдкрд╛рд╕ рдХрд░рддрд╛ рдпреЗрдгрд╛рд░реНтАНрдпрд╛ рд╡рд┐рддрд░реНрдХрд╛рдВрдЪреА рдХрдорд╛рд▓ рд╕рдВрдЦреНрдпрд╛. рддреБрдореНрд╣реА рдЦрд╛рд▓реАрд▓ рдЖрджреЗрд╢ рд╡рд╛рдкрд░реВрди рд╣реА рдорд░реНрдпрд╛рджрд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реВ рд╢рдХрддрд╛:

getconf ARG_MAX

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

рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддрд╛рдд

рдХрдорд╛рдВрдб рд╡рд╛рдкрд░реВрди рд░рд┐рдХрд╛рдореА рдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдХрд░рд╛ touch. рддреНрдпрд╛рдЪреА рдкрд╣рд┐рд▓реА рдУрд│ рдЖрдкрдг рдХреЛрдгрддрд╛ рд╢реЗрд▓ рд╡рд╛рдкрд░рдгрд╛рд░ рдЖрд╣реЛрдд рд╣реЗ рд╕реВрдЪрд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЖрдореНрд╣рд╛рд▓рд╛ рд╕реНрд╡рд╛рд░рд╕реНрдп рдЖрд╣реЗ bash, рддрд░ рдлрд╛рдЗрд▓рдЪреА рдкрд╣рд┐рд▓реА рдУрд│ рдЕрд╕реЗрд▓:

#!/bin/bash

рдпрд╛ рдлрд╛рдЗрд▓рдордзреАрд▓ рдЗрддрд░ рдУрд│реА рд╢реЗрд▓ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдд рдирд╕рд▓реЗрд▓реНрдпрд╛ рдЯрд┐рдкреНрдкрдгреНрдпрд╛ рджрд░реНрд╢рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЕрд╢ рдЪрд┐рдиреНрд╣ рд╡рд╛рдкрд░рддрд╛рдд. рддрдерд╛рдкрд┐, рдкрд╣рд┐рд▓реА рдУрд│ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХреЗрд╕ рдЖрд╣реЗ, рддреЗрдереЗ рдПрдХ рд╣реЕрд╢ рддреНрдпрд╛рдирдВрддрд░ рдЙрджреНрдЧрд╛рд░ рдЪрд┐рдиреНрд╣ рдЖрд╣реЗ (рдпрд╛ рдХреНрд░рдорд╛рд▓рд╛ рдореНрд╣рдгрддрд╛рдд рд╢реЗрдмрд╛рдВрдЧ) рдЖрдгрд┐ рдорд╛рд░реНрдЧ bash, рдЬреНрдпрд╛рд╕рд╛рдареА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд┐рд╢реЗрд╖рдд: рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдд рдЖрд▓реА рд╣реЛрддреА рддреНрдпрд╛ рдкреНрд░рдгрд╛рд▓реАрд▓рд╛ рд╕реВрдЪрд┐рдд рдХрд░рд╛ bash.

рд╢реЗрд▓ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдлреАрдбрджреНрд╡рд╛рд░реЗ рд╡рд┐рднрдХреНрдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд, рдЯрд┐рдкреНрдкрдгреНрдпрд╛ рд╣реЕрд╢ рдЪрд┐рдиреНрд╣рд╛рджреНрд╡рд╛рд░реЗ рд╡рд┐рднрдХреНрдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд. рд╣реЗ рдЕрд╕реЗ рджрд┐рд╕рддреЗ:

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

рдпреЗрдереЗ, рдХрдорд╛рдВрдб рд▓рд╛рдЗрдирдкреНрд░рдорд╛рдгреЗрдЪ, рддреБрдореНрд╣реА рдЕрд░реНрдзрд╡рд┐рд░рд╛рдорд╛рдВрдиреА рд╡рд┐рднрдХреНрдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдПрдХрд╛ рдУрд│реАрд╡рд░ рдХрдорд╛рдВрдбреНрд╕ рд▓рд┐рд╣реВ рд╢рдХрддрд╛. рддрдерд╛рдкрд┐, рдЬрд░ рддреБрдореНрд╣реА рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдУрд│реАрдВрд╡рд░ рдХрдорд╛рдВрдбреНрд╕ рд▓рд┐рд╣рд┐рд▓реНрдпрд╛рд╕, рдлрд╛рдЗрд▓ рд╡рд╛рдЪрдгреЗ рд╕реЛрдкреЗ рд╣реЛрдИрд▓. рдХреЛрдгрддреНрдпрд╛рд╣реА рдкрд░рд┐рд╕реНрдерд┐рддреАрдд, рд╢реЗрд▓ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░реЗрд▓.

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╛рдЗрд▓ рдкрд░рд╡рд╛рдирдЧреНрдпрд╛ рд╕реЗрдЯ рдХрд░рдд рдЖрд╣реЗ

рдлрд╛рдИрд▓рд▓рд╛ рдирд╛рд╡ рджреЗрдКрди рд╕реЗрд╡реНрд╣ рдХрд░рд╛ myscript, рдЖрдгрд┐ рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреЗ рдХрд╛рдо рдЬрд╡рд│рдкрд╛рд╕ рдкреВрд░реНрдг рдЭрд╛рд▓реЗ рдЖрд╣реЗ. рдЖрддрд╛ рдлрдХреНрдд рд╣реА рдлрд╛рдИрд▓ рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рдмрдирд╡рдгреЗ рдмрд╛рдХреА рдЖрд╣реЗ, рдЕрдиреНрдпрдерд╛, рдЬрд░ рддреБрдореНрд╣реА рддреА рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХреЗрд▓рд╛ рддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдХ рддреНрд░реБрдЯреА рдпреЗрдИрд▓. Permission denied.

рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕: рд╕реБрд░реБрд╡рд╛рдд
рдЪреБрдХреАрдЪреНрдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкрд░рд╡рд╛рдирдЧреНрдпрд╛рдВрд╕рд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╛рдЗрд▓ рдЪрд╛рд▓рд╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рдд рдЖрд╣реЗ

рдЪрд▓рд╛ рдлрд╛рдЗрд▓ рдПрдХреНрдЭрд┐рдХреНрдпреБрдЯреЗрдмрд▓ рдмрдирд╡реВ:

chmod +x ./myscript

рдЖрддрд╛ рддреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реВрдпрд╛:

./myscript

рдкрд░рд╡рд╛рдирдЧреНрдпрд╛ рд╕реЗрдЯ рдХреЗрд▓реНрдпрд╛рдирдВрддрд░ рд╕рд░реНрд╡рдХрд╛рд╣реА рдЬрд╕реЗ рдкрд╛рд╣рд┐рдЬреЗ рддрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ.

рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕: рд╕реБрд░реБрд╡рд╛рдд
рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╢рд╕реНрд╡реАрд░рд┐рддреНрдпрд╛ рдЪрд╛рд▓рд╡рдд рдЖрд╣реЗ

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

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

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

рдЕрдкрдбреЗрдЯреЗрдб рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд╛рд▓рд╡рд▓реНрдпрд╛рдирдВрддрд░ рдЕрд╕реЗ рд╣реЛрддреЗ.

рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕: рд╕реБрд░реБрд╡рд╛рдд
рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреВрди рд╕рдВрджреЗрд╢ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдгреЗ

рдЖрддрд╛ рдЖрдкрдг рдХрдорд╛рдВрдб рд╡рд╛рдкрд░реВрди рд╕реНрдкрд╖реНрдЯреАрдХрд░рдгрд╛рддреНрдордХ рдиреЛрдЯреНрд╕ рджрд╛рдЦрд╡реВ рд╢рдХрддреЛ echo. рд▓рд┐рдирдХреНрд╕ рдЯреВрд▓реНрд╕ рд╡рд╛рдкрд░реВрди рдлрд╛рдЗрд▓ рдХрд╢реА рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рд╛рдпрдЪреА рд╣реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдорд╛рд╣реАрдд рдирд╕реЗрд▓ рдХрд┐рдВрд╡рд╛ рддреБрдореНрд╣реА рдЖрдзреА рдХрдорд╛рдВрдб рдкрд╛рд╣рд┐рд▓реА рдирд╕реЗрд▓ echo, рдкрд╣рд╛ рд╣реЗ рд╕рд╛рд╣рд┐рддреНрдп.

рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рд╡рд╛рдкрд░рдгреЗ

рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдорд╛рд╣рд┐рддреА рд╕рд╛рдард╡рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд, рдЬрд╕реЗ рдХреА рдХрдорд╛рдВрдбрдЪреЗ рдкрд░рд┐рдгрд╛рдо, рдЗрддрд░ рдХрдорд╛рдВрдбрджреНрд╡рд╛рд░реЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА.

рд╡реИрдпрдХреНрддрд┐рдХ рдЖрджреЗрд╢рд╛рдВрдЪреЗ рдкрд░рд┐рдгрд╛рдо рд╕рдВрдЧреНрд░рд╣рд┐рдд рди рдХрд░рддрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рдд рдХрд╛рд╣реАрд╣реА рдЪреВрдХ рдирд╛рд╣реА, рдкрд░рдВрддреБ рд╣рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрди рддреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд╖рдорддрд╛рдВрдордзреНрдпреЗ рдЦреВрдкрдЪ рдорд░реНрдпрд╛рджрд┐рдд рдЖрд╣реЗ.

рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рджреЛрди рдкреНрд░рдХрд╛рд░рдЪреЗ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддрд╛рдд:

  • рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░рд┐рд╡рд░реНрддрдиреЗ
  • рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЪрд▓

рдкрд░реНрдпрд╛рд╡рд░рдг рдкрд░рд┐рд╡рд░реНрддрдиреЗ

рдХрдзреАрдХрдзреА рд╢реЗрд▓ рдХрдорд╛рдВрдбрдирд╛ рдХрд╛рд╣реА рд╕рд┐рд╕реНрдЯрдо рдбреЗрдЯрд╛рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕рддреЗ. рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреА рд╣реЛрдо рдбрд┐рд░реЗрдХреНрдЯрд░реА рдХрд╢реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рд╛рдпрдЪреА рдпрд╛рдЪреЗ рдЙрджрд╛рд╣рд░рдг рдпреЗрдереЗ рдЖрд╣реЗ:

#!/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"

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрддрд╛ рдирдХреНрдХреА рдХрд╛рдп рдЕрдкреЗрдХреНрд╖рд┐рдд рдЖрд╣реЗ рддреЗ рдЖрдЙрдЯрдкреБрдЯ рдХрд░реЗрд▓.

рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕: рд╕реБрд░реБрд╡рд╛рдд
рдбреЙрд▓рд░ рдЪрд┐рдиреНрд╣ рдореБрджреНрд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрд╕реНрдХреЗрдк рдЕрдиреБрдХреНрд░рдо рд╡рд╛рдкрд░рдгреЗ

рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдЪрд▓

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

рд╕рд┐рд╕реНрдЯрдо рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдкреНрд░рдорд╛рдгреЗ, рдбреЙрд▓рд░ рдЪрд┐рдиреНрд╣ рд╡рд╛рдкрд░реВрди рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ:
TNW-CUS-FMP - рдЖрдордЪреНрдпрд╛ рд╕реЗрд╡рд╛рдВрд╡рд░ 10% рд╕рд╡рд▓рддреАрд╕рд╛рдареА рдкреНрд░реЛрдореЛ рдХреЛрдб, 7 рджрд┐рд╡рд╕рд╛рдВрдЪреНрдпрд╛ рдЖрдд рд╕рдХреНрд░рд┐рдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЙрдкрд▓рдмреНрдз

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

рдЕрд╢реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд╛рд▓рд╡рд▓реНрдпрд╛рдирдВрддрд░ рд╣реЗрдЪ рд╣реЛрддреЗ.

рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕: рд╕реБрд░реБрд╡рд╛рдд
рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рдХрд╕реНрдЯрдо рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕

рдХрдорд╛рдВрдб рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди

рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕рдЪреНрдпрд╛ рд╕рд░реНрд╡рд╛рдд рдЙрдкрдпреБрдХреНрдд рд╡реИрд╢рд┐рд╖реНрдЯреНрдпрд╛рдВрдкреИрдХреА рдПрдХ рдореНрд╣рдгрдЬреЗ рдХрдорд╛рдВрдб рдЖрдЙрдЯрдкреБрдЯрдордзреВрди рдорд╛рд╣рд┐рддреА рдХрд╛рдврдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓реНрд╕рд╡рд░ рдирд┐рдпреБрдХреНрдд рдХрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛, рдЬреНрдпрд╛рдореБрд│реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╣реА рдорд╛рд╣рд┐рддреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдХреБрдареЗрд╣реА рд╡рд╛рдкрд░рддрд╛ рдпреЗрддреЗ.

рд╣реЗ рдХрд░рдгреНрдпрд╛рдЪреЗ рджреЛрди рдорд╛рд░реНрдЧ рдЖрд╣реЗрдд.

  • рдмреЕрдХрдЯрд┐рдХ "`" рд╡рд╛рдкрд░рдгреЗ
  • рд░рдЪрдирд╛ рдХрд░реВрди $()

рдкрд╣рд┐рд▓рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрди рд╡рд╛рдкрд░рддрд╛рдирд╛, рдмреЕрдХрдЯрд┐рдХрдЪреНрдпрд╛ рдЬрд╛рдЧреА рдПрдХрдЪ рдЕрд╡рддрд░рдг рдЪрд┐рдиреНрд╣ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рди рдХрд░рдгреНрдпрд╛рдЪреА рдХрд╛рд│рдЬреА рдШреНрдпрд╛. рдХрдорд╛рдВрдб рдЕрд╢рд╛ рджреЛрди рдЪрд┐рдиреНрд╣рд╛рдВрдордзреНрдпреЗ рдмрдВрдж рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:

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. рддреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рддреЗ рдпреЗрдереЗ рдЖрд╣реЗ:

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 рдкреЗрдХреНрд╖рд╛ рдХрдореА рдЕрд╕рд▓реНрдпрд╛рд╕ рдЦрд░реЗ рдорд┐рд│рд╡рддреЗ 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 рд▓рд╛рдВрдмреА рдЕрд╕рд▓реНрдпрд╛рд╕ рдЦрд░реЗ рдорд┐рд│рд╡рддреЗ str1рд╢реВрдиреНрдпрд╛рдЪреНрдпрд╛ рд╡рд░.
-z str1рд▓рд╛рдВрдмреА рдЕрд╕рд▓реНрдпрд╛рд╕ рдЦрд░реЗ рдорд┐рд│рд╡рддреЗ 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, рдпрд╛рдордзреВрди, рд╕рд┐рд╕реНрдЯрдо рднрд╛рд╖рд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬрдордзреНрдпреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХреНрд░рдорд╡рд╛рд░реАрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░рддреЗ.

рдлрд╛рдЗрд▓ рдЪреЗрдХ

рдХрджрд╛рдЪрд┐рдд рдЦрд╛рд▓реАрд▓ рдЖрджреЗрд╢ рдмрд╣реБрдзрд╛ рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддрд╛рдд. рддреЗ рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдлрд╛рдпрд▓реАрдВрд╕рдВрдмрдВрдзреА рд╡рд┐рд╡рд┐рдз рдЕрдЯреА рддрдкрд╛рд╕рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд. рдпрд╛ рдЖрджреЗрд╢рд╛рдВрдЪреА рдпрд╛рджреА рдпреЗрдереЗ рдЖрд╣реЗ.

-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рдлрд╛рдЗрд▓ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдд рдЖрд╣реЗ рдХреА рдирд╛рд╣реА рдЖрдгрд┐ рддрд┐рдЪрд╛ рдЧреНрд░реБрдк рдЖрдпрдбреА рд╕рдзреНрдпрд╛рдЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рдЧреНрд░реБрдк рдЖрдпрдбреАрд╢реА рдЬреБрд│рддреЛ рдХрд╛ рддреЗ рддрдкрд╛рд╕рддреЗ.

рдпрд╛ рдЖрдЬреНрдЮрд╛, рддрд╕реЗрдЪ рдЖрдЬ рдЪрд░реНрдЪрд╛ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЗрддрд░ рдЕрдиреЗрдХ, рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ. рддреНрдпрд╛рдВрдЪреА рдирд╛рд╡реЗ, рд╡рд┐рд╡рд┐рдз рд╢рдмреНрджрд╛рдВрдЪреА рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдкреЗ рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рддреЗ рдХрд░рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рддрдкрд╛рд╕рдгреНрдпрд╛рдВрдирд╛ рдереЗрдЯ рд╕реВрдЪрд┐рдд рдХрд░рддрд╛рдд.

рдЪрд▓рд╛ рд╕рд░рд╛рд╡рд╛рддреАрд▓ рдПрдХ рдЖрдЬреНрдЮрд╛ рд╡рд╛рдкрд░реВрди рдкрд╣рд╛:

#!/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

рд╣реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рд╡рд┐рджреНрдпрдорд╛рди рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрд╕рд╛рдареА, рддреНрдпрд╛рддреАрд▓ рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрд▓.

рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕: рд╕реБрд░реБрд╡рд╛рдд
рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрддреАрд▓ рд╕рд╛рдордЧреНрд░реАрдЪреА рдпрд╛рджреА рдХрд░рдгреЗ

рдЖрдордЪрд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЖрд╣реЗ рдХреА рддреБрдореНрд╣реА рдЙрд░реНрд╡рд░рд┐рдд рдХрдорд╛рдВрдбреНрд╕рд╕рд╣ рд╕реНрд╡рддрдГ рдкреНрд░рдпреЛрдЧ рдХрд░реВ рд╢рдХрддрд╛; рддреЗ рд╕рд░реНрд╡ рд╕рдорд╛рди рддрддреНрддреНрд╡рд╛рдиреБрд╕рд╛рд░ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддрд╛рдд.

рдкрд░рд┐рдгрд╛рдо

рдЖрдЬ рдЖрдкрдг рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рд╣рд┐рдгреЗ рдХрд╕реЗ рд╕реБрд░реВ рдХрд░рд╛рд╡реЗ рдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓рд▓реЛ рдЖрдгрд┐ рдХрд╛рд╣реА рдореВрд▓рднреВрдд рдЧреЛрд╖реНрдЯреАрдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдХреЗрд▓рд╛. рдЦрд░рдВ рддрд░, рдмреЕрд╢ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧрдЪрд╛ рд╡рд┐рд╖рдп рдЦреВрдк рдореЛрдард╛ рдЖрд╣реЗ. рд╣рд╛ рд▓реЗрдЦ 11 рд╕рд╛рдордЧреНрд░реАрдЪреНрдпрд╛ рдореЛрдареНрдпрд╛ рдорд╛рд▓рд┐рдХреЗрдЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рднрд╛рдЧрд╛рдЪрд╛ рдЕрдиреБрд╡рд╛рдж рдЖрд╣реЗ. рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрддреНрддрд╛ рд╕реБрд░реВ рдареЗрд╡рд╛рдпрдЪреЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рдпрд╛ рд╕рд╛рдордЧреНрд░реАрдЪреНрдпрд╛ рдореВрд│рдЪреА рд╕реВрдЪреА рдпреЗрдереЗ рдЖрд╣реЗ. рд╕реЛрдпреАрд╕рд╛рдареА, рддреБрдореНрд╣реА рдиреБрдХрддреЗрдЪ рд╡рд╛рдЪрд▓реЗрд▓реЗ рднрд╛рд╖рд╛рдВрддрд░ рдпреЗрдереЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ.

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

рдЖрдордЪрд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЖрд╣реЗ рдХреА рд▓реЗрдЦрд╛рдВрдЪреНрдпрд╛ рдпрд╛ рдорд╛рд▓рд┐рдХреЗрддреАрд▓ рдПрдХ рдореМрд▓реНрдпрд╡рд╛рди рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдореНрд╣рдгрдЬреЗ, рдХреЛрдгрддреНрдпрд╛рд╣реА рд╕реНрддрд░рд╛рд╡рд░реАрд▓ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрд╕рд╛рдареА рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкреНрдпрд╛рдкрд╛рд╕реВрди рдкреНрд░рд╛рд░рдВрдн рдХрд░реВрди, рддреЗ рд╣рд│реВрд╣рд│реВ рдЧрдВрднреАрд░ рд╡рд┐рд╖рдпрд╛рдВрдХрдбреЗ рдиреЗрд▓реЗ рдЬрд╛рддреЗ, рдЬреНрдпрд╛рдореБрд│реЗ рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рд▓рд┐рдирдХреНрд╕ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕рдЪреНрдпрд╛ рдирд┐рд░реНрдорд┐рддреАрдордзреНрдпреЗ рдкреБрдвреЗ рдЬрд╛рдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рдорд┐рд│рддреЗ. .

рдкреНрд░рд┐рдп рд╡рд╛рдЪрдХрд╛рдВрдиреЛ! рдЖрдореНрд╣реА рдмреЕрд╢ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЧреБрд░реВрдВрдирд╛ рддреЗ рдкреНрд░рднреБрддреНрд╡рд╛рдЪреНрдпрд╛ рд╢рд┐рдЦрд░рд╛рд╡рд░ рдХрд╕реЗ рдкреЛрд╣реЛрдЪрд▓реЗ рдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓рдгреНрдпрд╛рд╕ рд╕рд╛рдВрдЧрддреЛ, рддреНрдпрд╛рдВрдЪреА рд░рд╣рд╕реНрдпреЗ рд╕рд╛рдорд╛рдпрд┐рдХ рдХрд░рддрд╛рдд рдЖрдгрд┐ рдЬреНрдпрд╛рдВрдиреА рдиреБрдХрддреАрдЪ рддреНрдпрд╛рдВрдЪреА рдкрд╣рд┐рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рд╣рд┐рд▓реА рдЖрд╣реЗ рддреНрдпрд╛рдВрдЪреНрдпрд╛рдХрдбреВрди рдЗрдВрдкреНрд░реЗрд╢рди рдорд┐рд│рд╡рд┐рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рдЙрддреНрд╕реБрдХ рдЖрд╣реЛрдд.

рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕: рд╕реБрд░реБрд╡рд╛рдд

рдХреЗрд╡рд│ рдиреЛрдВрджрдгреАрдХреГрдд рд╡рд╛рдкрд░рдХрд░реНрддреЗрдЪ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрд╛рдд рднрд╛рдЧ рдШреЗрдК рд╢рдХрддрд╛рдд. рд╕рд╛рдЗрди рдЗрди рдХрд░рд╛, рдЖрдкрд▓реЗ рд╕реНрд╡рд╛рдЧрдд рдЖрд╣реЗ.

рдмрд╛рдХреАрдЪреНрдпрд╛ рд▓реЗрдЦрд╛рдВрдЪреНрдпрд╛ рдорд╛рд▓рд┐рдХреЗрдЪреЗ рднрд╛рд╖рд╛рдВрддрд░ рдХрд░рд╛рд╡реЗ рдХрд╛?

  • рд╣реЛрдп!

  • рдирд╛рд╣реА рдЧрд░рдЬ рдирд╛рд╣реА

1030 рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдиреА рдорддрджрд╛рди рдХреЗрд▓реЗ. 106 рд╡рд╛рдкрд░рдХрд░реНрддреЗ рджреВрд░ рд░рд╛рд╣рд┐рд▓реЗ.

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛