рдпрд╣ рд▓реЗрдЦ рдбреЗрд╡рд┐рдб рдХреЛрдкрд▓реИрдВрдб рдХреЗ рдмрд┐рд▓реНрдб рд╡рд┐рд╕реНрдордпрдХрд╛рд░реА рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд░реВрдмреА рдХреЗ рдкреНрд░рднрд╛рд╡ (
рдЦрд░реАрджреЗрдВ ,
рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВ, рдФрд░
рдЕрдзрд┐рдХ рдЬрд╛рдиреЗрдВ ) рдХреЗ рдкреНрд░рднрд╛рд╡ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕рдХрд╛ рдЕрдзрд┐рдХрд╛рдВрд╢ рдЙрдкрдпреЛрдЧ рд╕реАрдПрд▓рдЖрдИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХреЛ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рднрд▓реЗ рд╣реА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рднрд╛рд╖рд╛ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдорд╛рдгрд┐рдХ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЪреАрдЬреЛрдВ рдкрд░ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА, рд▓реЗрдХрд┐рди рдпрд╣ рдбрд░рд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреЛрдб рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдЗрд╕ рд▓реЗрдЦ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЕрдиреБрднрд╡ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдЪреНрдЫреЗрджрд┐рдд рдЙрдкрд░реЛрдХреНрдд рдкреБрд╕реНрддрдХ рдХреА рдПрдХ рдХрд╛рдлреА рд╡рд┐рд╕реНрддреГрдд рд╕рдореАрдХреНрд╖рд╛ рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдореИрдВ рдХрд┐рддрд╛рдм рд╕реБрдЭрд╛рддрд╛ рд╣реВрдБ!
рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ рдПрдХ рд╕рд╡рд╛рд▓ рдкреВрдЫреВрдВрдЧрд╛ред рдпрджрд┐ рдЖрдк IT-shnikov рдХреЗ рд╕рдореБрджрд╛рдп рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдПрдХ рд╕реБрдВрджрд░ рдЪрд┐рддреНрд░рдордп рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдкреНрд░рдЪреБрд░рддрд╛ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реИрдВред рдХреНрдпреЛрдВ?
рдХрдИ рдЙрддреНрддрд░ рд╣реИрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣
рд╕реБрдВрджрд░ рд░реВрдк рд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ - рдпрджрд┐ рдЖрдк рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рдПрдХ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХрд╛ рд╡рд░реНрдгрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрд╕рд╛рди рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдкрдХреЛ рдорд╛рдЙрд╕ рдЖрдВрджреЛрд▓рдиреЛрдВ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдореЗрдиреВ рдЖрдЗрдЯрдореЛрдВ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рд╣реИ рддреЛ рдЗрд╕рд╕реЗ рдЕрдзрд┐рдХ рдЖрд╕рд╛рди рд╣реИред рджреВрд╕рд░реЗ, рдпрд╣ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
рдмрд╣реБрдд рд╣рдж рддрдХ, рдпреВрдирд┐рдХреНрд╕ рджрд░реНрд╢рди рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдХрд┐ рдХрдИ рдЫреЛрдЯреА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдирд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреА рд╣реИрдВ, рдПрдХ рдмрд╣реБрдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИрдВред рдФрд░ рдпрд╣ рдЖрдИрдЯреА-рд╢рд┐рдХреЛрд╡ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ рдпреВрдирд┐рдХреНрд╕-рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕рдлрд▓рддрд╛ рдХрд╛ рдПрдХ рдХрд╛рд░рдг рд╣реИред
рд╢рд╛рдпрдж, рд╣рд░ рдХреЛрдИ рд╕рдордЭрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╡реЗ GUI рд╕реЗ CLI рддрдХ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд▓реБрднрд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ, рдЖрдЗрдП рд╣рдо рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реЗрдВ, "рдХрдВрдкреНрдпреВрдЯрд░ рд╡реИрдЬреНрдЮрд╛рдирд┐рдХ" рдФрд░ CLI рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рдЗрдЪреНрдЫрд╛рдУрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред
рд╕рд╛рдорд╛рдиреНрдп рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░рд▓рддрд╛ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдП, рд▓реЗрдХрд┐рди рдХреБрд╢рд▓рддрд╛ рд╕реЗред рдбреЗрд╡рд┐рдб рдХреЛрдкрд▓реИрдВрдб рдиреЗ рдЗрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╕реВрдЪреА рд▓рд┐рдЦреА рд╣реИ:
- рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдЖрд╕рд╛рди - рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕рдХрд╛ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдЙрджреНрджреЗрд╢реНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдзрд┐рдорд╛рдирддрдГ рдПрдХред рддреБрд▓рд╛, рдЬрд┐рд╕реЗ рд╣рд░ рдХреЛрдИ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╕реНрд╡рд┐рд╕ рдЪрд╛рдХреВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЖрдорддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдХреЛрдИ рднреА рдЙрдирдХреА рд╕рднреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рд╡рд┐рд╡рд┐рдз рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдХреИрд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рдП рддрд╛рдХрд┐ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдФрд░ рд╕рдорд░реНрдерди рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рд╕рдХреЗред
рдиреНрдпреВрдирддрдо рдЖрдк рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдкреНрд░рд╛рд░реВрдк рдкрд░ рд╕рдореНрдореЗрд▓рдиреЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░ рд░рд╣рд╛ рд╣реИред рдЕрдкрдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рди рдХрд░реЗрдВ! рдореИрдВ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд▓рд┐рдЦреВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдерд╛рдЧрдд рдХреИрд╕реЗ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдХреИрд╕реЗ рдирд╛рдо рджрд┐рдпрд╛ рдЬрд╛рдПред - рдорджрджрдЧрд╛рд░ - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЗрд╕ рдмрд╛рдд рдкрд░ рдорджрдж рдХреА рдЖрд╕рд╛рди рдкрд╣реБрдВрдЪ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЖрд╡реЗрджрди рдХреИрд╕реЗ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдХреИрд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдП рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдпрд╣ рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЕрдкрдиреЗ рдкреЗрдЬ рдХреЛ рдЖрджрдореА рд╕реЗ рдЬреЛрдбрд╝реЗред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЯреАрдо рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рд╕реНрддрд░ рдкрд░ рд╢реЗрд▓ рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг рдХреЛ рдЪреЛрдЯ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗрдЧреАред
- рджреВрд╕рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдЦреЗрд▓рддрд╛ рд╣реИ - рдЖрд╡реЗрджрди рдЕрдиреНрдп рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдкреНрд░рддрд┐рд░реВрдкрдХрддрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдпреВрдирд┐рдХреНрд╕ рдореЗрдВ рдкреНрд░рдерд╛рдЧрдд рд╣реИред рдЖрдкрдХреЛ рд░рд┐рдЯрд░реНрди рдХреЛрдб рдХреА рдЙрдкреЗрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП, рдЗрдирдкреБрдЯ-рдЖрдЙрдЯрдкреБрдЯ рдзрд╛рд░рд╛рдУрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рдЪрд╛рд░рд╢реАрд▓ рдХрд╛рд░реНрдп рдФрд░ рди рдХреЗрд╡рд▓ред
- рд╕рдордЭрджрд╛рд░ рдЪреВрдХ рд╣реИ рд▓реЗрдХрд┐рди рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╣реИ - рдПрдХ рд╣рдЬрд╛рд░ рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдорд╛рдирдХ рдЙрдкрдпреЛрдЧ рдкрд░рд┐рджреГрд╢реНрдп рдЙрдкрд▓рдмреНрдз рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд╕реНрдЯрдо рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдЕрднреА рднреА рд╕рд╕реНрддреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯ рдЕрдиреБрдХреВрд▓рди рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
- рджрд░реНрдж рд░рд╣рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ - рдЖрд╕рд╛рдиреА рд╕реЗ рд╕рднреА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЖрд╕рд╛рди рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд▓рд┐рдП рдЖрд╡реЗрджрди рдкрде рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдЕрдкрдбреЗрдЯ рдЖрд╕рд╛рдиреА рд╕реЗ рд╣реА рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред
- рдЗрдирд╛рдпрдд рд╕реЗ рд╡рд┐рдлрд▓ рд╣реЛрддрд╛ рд╣реИ - рдЖрд╡реЗрджрди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рддреНрд░реБрдЯрд┐ рдХреНрдпрд╛ рдереА рдФрд░ рдЗрд╕реЗ рдХреИрд╕реЗ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрд╡реЗрджрди рдЧреИрд░-рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдЕрд░реНрдерд╛рддреНред рдпрджрд┐ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рддрд░реНрдХреЛрдВ рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИ (рдФрд░ рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдЕрдЧрд░ рд╡рд╣ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдкреБрд╖реНрдЯрд┐ рдХреЗ рдЦрддрд░рдирд╛рдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдирд╣реАрдВ рдХрд░реЗрдЧреА) рддреЛ рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдпрд╛ рдорд┐рдЯрд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ рдмрдЧ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИ - рдЖрд╡реЗрджрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рднрд┐рдиреНрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рдмрд┐рдЦреЗрд░ рджреЗрдВред рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрд┐рдПред рд╕рд┐рдореЗрдВрдЯрд┐рдХ рд╡рд░реНрдЬрдирд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- рдкреНрд░рд╕рдиреНрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ - рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЖрдВрдЦ рдХреЛ рднрд╛рддрд╛ рд╣реИред рдЕрдкрдиреЗ рдирд┐рдкрдЯрд╛рди рдХреЗ рд░рдВрдЧреЛрдВ рдореЗрдВ, рд╕реНрд╡рд░реВрдкрдг (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд╛рд░рдгреАрдмрджреНрдз рдпрд╛ html)ред рдЗрд╕рдореЗрдВ рдЗрдВрдЯрд░рдПрдХреНрдЯрд┐рд╡ рдпреВрдЬрд░ рдЗрдВрдЯрд░реИрдХреНрд╢рди рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред
рдЕрдм рдореИрдВ рдЗрди рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рдКрдВрдЧрд╛ред
рдЙрдкрдпреЛрдЧ рдореЗрдВ рдЖрд╕рд╛рди
рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬред рдХреМрди рд╕рд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ?
рдЗрд╕рд▓рд┐рдП, рд╕рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ рджреЛ рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ: рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдФрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ (рдореВрд▓, рдХрдорд╛рдВрдб рд╕реВрдЯ рдореЗрдВ)ред
рдкрд╣рд▓рд╛ рдкреНрд░рдХрд╛рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд▓рдХреНрд╖реНрдп, рдПрдХ рдореЛрдб рдСрдкрд░реЗрд╢рди рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрдирдЧрд┐рдирдд рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ, рд▓рдЧрднрдЧ рд╕рднреА рдпреВрдирд┐рдХреНрд╕ рдХрдорд╛рдВрдб рд╣реИрдВ: ls, grep, diff, ... (рд░реВрдмрд┐рд╕реНрдЯ рдпрд╛рдж рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, rspec рдХрдорд╛рдВрдб) рдЗрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдирдХреА рдХреНрд╖рдорддрд╛рдУрдВ рдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рднреНрд░рдорд┐рдд рд╣реЛрдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗ рдЕрдиреБрдХреНрд░рдорд┐рдХ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЬрдВрдЬреАрд░реЛрдВ рдореЗрдВ рдЧреЛрдВрдж рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╛рджреГрд╢реНрдп рдпрд╣рд╛рдБ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реЛрдЧрд╛ред рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЖрдк рдПрдХ рдШрд░ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдШрд░ рдПрдХ рдорд╛рдирдХ рдореЙрдбрд▓ рдирд╣реАрдВ рд╣реИред рдИрдВрдЯреЛрдВ рд╕реЗ рдЗрд╕реЗ рдмрдирд╛рдирд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ, рдФрд░ рдЕрдЦрдВрдб рдмреНрд▓реЙрдХреЛрдВ рд╕реЗ рдирд╣реАрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХреБрдЫ рдЬрдЧрд╣реЛрдВ рдкрд░ рдЖрдкрдХреЛ рдЗрди рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдХрд╣реАрдВ рди рдХрд╣реАрдВ рдЖрдкрдХреЛ рдкрддреНрдерд░реЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝реЛрдВ рдХреЛ рдмрдВрдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╣рд╛рдВ, рдФрд░ рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдХреНрд░реЗрди рджреНрд╡рд╛рд░рд╛ рдЦреАрдВрдЪрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдИрдВрдЯреЛрдВ рдХреЛ рд╣рд╛рде рд╕реЗ рд░рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рджреВрд╕рд░реЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рддреБрд▓рдирд╛ рд╕реНрд╡рд┐рд╕ рдЪрд╛рдХреВ рдпрд╛ рдлреВрдб рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдХрднреА-рдХрднреА рд╡реЗ рдмреЗрд╣рдж рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрддреЗ рд╣реИрдВред рдЧрд┐рдЯ рдХреЛ рджреЗрдЦреЗрдВ (рдорд╛рдгрд┐рдХ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдордгрд┐, рд░реЗрд▓, рдмрдВрдбрд▓ рдХреЛ рддреБрд░рдВрдд рдпрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) - рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо, рд▓реЗрдХрд┐рди рдХрд┐рддрдиреЗ рдЗрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдФрд░ рд╡рд╣ рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреА рд╣реИ / рдХрд░ рд╕рдХрддреА рд╣реИ, рдФрд░ рд╡рд╣ рдЦреБрдж рдЗрддрд┐рд╣рд╛рд╕ рдореЗрдВ рдЦреЛрдЬрддреА рд╣реИ, рдФрд░ рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рдмреАрдЪ рдХреЗ рдмрджрд▓рд╛рд╡реЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддреА рд╣реИред рддреЛ grep, diff, рдЖрджрд┐ рдХреЛ рдЗрд╕рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдЪреАрдЬ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрди рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╡рд╣ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред рдпрджрд┐ рдЖрдк рдШрд░ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдирддрд╛ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЧреАрддрд╛ рдХреЗ рдкрд╛рд╕ рд╣рд░ рдЕрд╡рд╕рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирдХ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╣реИ (рдФрд░ рдЙрди рд╕рднреА рдХреЛ рдпрд╛рдж рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВ)ред
рдФрд░ рдлрд┐рд░ рднреА, рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдмрд╣реБрдХреНрд░рд┐рдпрд╛рд╢реАрд▓ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рд╕рднреА рд╕рдорд╛рди, рдЖрдк рд╕рднреА рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рд╕реЗ рдирд╣реАрдВ рдЧреБрдЬрд░реЗрдВрдЧреЗред рдЗрд╕ рдереАрд╕рд┐рд╕ рдХреЗ рд╕рдорд░реНрдерди рдореЗрдВ, рдореЗрд░рд╛ рд╕реБрдЭрд╛рд╡ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ "рдорд▓реНрдЯреАрдЯреВрд▓" рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬреЛ рдПрдХ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде cd, ls, pwd, diff, df рдФрд░ рдЙрдкрдпреЛрдЧреА рдСрдкрд░реЗрд╢рдВрд╕ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдХреЗрд╡рд▓ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдлрд╛рдЗрд▓рд╕рд┐рд╕реНрдЯрдо рдкрд░рд┐рд╡рд░реНрддрди, рдлрд╛рдЗрд▓рд╕рд┐рд╕реНрдЯрдо рд╢реЛ, рдлрд╛рдЗрд▓рд╕рд┐рд╕реНрдЯрдо рдЬрд╣рд╛рдВ, рдЖрджрд┐)ред )ред рдХреНрдпрд╛ рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗ? рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдЕрддреНрдпрдзрд┐рдХ рднрд╛рд░реАрдкрди рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░ рдлреЗрдВрдХ рджреЗрдВрдЧреЗред рд╣рд╛рд▓рд╛рдБрдХрд┐ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ рдмреЗрд╣рдж рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрддреЗ рд╣реИрдВ, рдлрд┐рд░ рднреА рдпрд╣ рдЖрдкрдХреЗ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрда рд╕реЗрдВрдЯреАрдореАрдЯрд░ рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред
рд╡реИрд╕реЗ, рдпрджрд┐ рдЖрдкрдиреЗ рдПрдХ рджрд░реНрдЬрди рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЛ рд▓рд┐рдЦрд╛, рдФрд░ рддрдм рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕реЗ рдареАрдХ рдХрд░рдирд╛ рдЗрддрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИред рдмрд╕ рдПрдХ рд░реИрдкрд░ рд▓рд┐рдЦреЗрдВ рдЬреЛ рдХрдорд╛рдВрдб рдХреЛ рд░реВрдЯ рдХрд░реЗрдЧрд╛ред рдЖрдк рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди git рдореЗрдВ git-рдкреНрд░рддрд┐рдмрджреНрдз, git-show, git-hash-object, git-cat-file, git-update-index рдЗрддреНрдпрд╛рджрд┐ рдЬреИрд╕реА рджрд░реНрдЬрдиреЛрдВ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рд╕реЗ git рдХрдорд╛рдВрдб рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрдВрдЯреНрд░реЛрд▓ рдХреЛ рдХрдорд╛рдВрдб рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рд╡рд┐рдХрд▓реНрдк (рдмреЗрд╢рдХ, рдпреВрдЯрд┐рд▓рд┐рдЯреА рдХреЙрд▓ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдПрдХ рдХрдорд╛рдВрдб рдХреЗ рдкреАрдЫреЗ рд╣реЛ рд╕рдХрддреА рд╣реИ)ред рдЗрд╕рд▓рд┐рдП рдЫреЛрдЯреЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд╢реБрд░реВ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдЬрд┐рд╕реЗ рдЖрдк рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░реЗрдВрдЧреЗред рдЙрдиреНрд╣реЗрдВ рд▓рд┐рдЦрдирд╛, рдбрд┐рдмрдЧ рдХрд░рдирд╛, рдмрдирд╛рдП рд░рдЦрдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред
рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдпрд╛ "рдЗрд╕ рдШрд░ рдХреА рдЕрдкрдиреА рдкрд░рдВрдкрд░рд╛рдПрдВ рд╣реИрдВред"
рдореИрдВ рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░реВрдБрдЧрд╛ред рдЬрдм рдЖрдк рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЖрд╡реЗрджрди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдорд╛рдкрджрдВрдбреЛрдВ рдХреЗ рдХреБрдЫ рд╕реЗрдЯ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рд╡рд┐рдХрд▓реНрдк рдФрд░ рддрд░реНрдХред рдбреЗрд╡рд┐рдб рдХреЛрдкрд▓реИрдВрдб рдЖрдЧреЗ рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рджреЛ рдЙрдкрдкреНрд░рдХрд╛рд░реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ: рдЭрдВрдбреЗ рдФрд░ рд╕реНрд╡рд┐рдЪред
рдпреЛрдЬрдирд╛рдмрджреНрдз рд░реВрдк рд╕реЗ, рдЖрдк рдЗрд╕реЗ
executable [options] <arguments>
рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛ рд╕рдХрддреЗ рд╣реИрдВ
executable [options] <arguments>
ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдЕрджреНрдпрддрд┐рдд рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд┐рд░реНрдл рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╡рд░реНрдЧ рдХреЛрд╖реНрдардХ рдореЗрдВ рдкреИрд░рд╛рдореАрдЯрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВ, рдФрд░ рдХреЛрдг рдХреЛрд╖реНрдардХ рдореЗрдВ рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИрдВред
рддрд░реНрдХ (рдпрд╛ рд╕реНрдерд┐рддрд┐ рд╕рдВрдмрдВрдзреА рддрд░реНрдХ) рдРрд╕реЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВ рдЬреЛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдЙрдирдХреЗ рдЖрджреЗрд╢ рдХреЛ рдХрдбрд╝рд╛рдИ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рд╡рд┐рдХрд▓реНрдк рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдХрд┐рд╕реА рднреА рдХреНрд░рдо рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╕реНрд╡рд┐рдЪ рдкреНрд░рдХрд╛рд░ рд╡рд┐рдХрд▓реНрдк рдмреВрд▓рд┐рдпрди рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдЙрдирдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдпрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд▓рд┐рдП рдЬрд╛рдВрдЪ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг:
--ignore-case
(рдпрд╛, рдХрднреА
--no-ignore-case
рдХрднреА,
--no-ignore-case
)ред
рдзреНрд╡рдЬ рдкреНрд░рдХрд╛рд░ рд╡рд┐рдХрд▓реНрдк рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
grep -C ...
рдФрд░
grep -C 2 ...
рдореЗрд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, grep рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИрдВред
рддрд░реНрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рджреЛрдиреЛрдВ рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╡реЗ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ,
grep --ignore-case -r - 4 "some string" /tmp
рддрд░реНрдХ
"some string" /tmp
, рдФрд░ рд╡рд┐рдХрд▓реНрдк
--ignore-case -r - 4
ред рдЙрд╕реА рд╕рдордп
--ignore-case
рдФрд░
-r
рд╕реНрд╡рд┐рдЪ рд╣реИрдВ, рдФрд░
-C 4
рдПрдХ рдзреНрд╡рдЬ рд╣реИред
рд╡рд┐рдХрд▓реНрдк рдХрдиреНрд╡реЗрдВрд╢рди
рд╡рд┐рдХрд▓реНрдк рд▓рдШреБ
-i
рдФрд░ рд▓рдВрдмреЗ рд╕рдордп рдХреЗ
--ignore-case
рд░реВрдкреЛрдВ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдХреБрдЫ рднреА рдЖрдкрдХреЛ рд╡рд┐рдХрд▓реНрдк рдкреНрд░рд╛рд░реВрдк рдХреЗ рд╕рд╛рде рдордЬрд╝реЗрджрд╛рд░ рд╣реЛрдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕реАрдзреЗ рдХреИрдкреНрдЪрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпреВрдирд┐рдХреНрд╕ рд╕рдореБрджрд╛рдп рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдирд┐рдпрдореЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рд╕рдордп рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╕рдореНрдорд╛рдирд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдЬреНрдпрд╛рджрд╛рддрд░ рд▓реЛрдЧ рдЙрдирдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдРрд╕реЗ рддреИрдпрд╛рд░ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рдиреА рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
рдпреЗ рдирд┐рдпрдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:
- рдПрдХ рд▓рдВрдмрд╛ рд╡рд┐рдХрд▓реНрдк (
--long-option
рд▓рдВрдмрд╛ рд╡рд┐рдХрд▓реНрдк) рджреЛ рд╣рд╛рдЗрдлрд╝рди рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рд╡рд┐рдХрд▓реНрдк рдХреЗ рдирд╛рдо рдореЗрдВ рдХреЛрдИ рд╕реНрдерд╛рди рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХрд▓ рд╣рд╛рдЗрдлрд╝рди рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╣реИрдВред - рд▓рдШреБ рд╡рд┐рдХрд▓реНрдк (
-l
) рдореЗрдВ рдПрдХ рдЕрдХреНрд╖рд░ (рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдорд╛рдорд▓рд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ) рдФрд░ рдкреВрд░реНрд╡рд╡рд░реНрддреА рд╣рд╛рдЗрдлрд╝рди - рдПрдХ рд╣реЛрддреЗ рд╣реИрдВред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ рдЬрдм рдПрдХ рдЫреЛрдЯрд╛ рд╡рд┐рдХрд▓реНрдк рдПрдХ рд▓рдВрдмреЗ рдПрдирд╛рд▓реЙрдЧ рдХрд╛ рдкрд╣рд▓рд╛ рдЕрдХреНрд╖рд░ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХрд╛ рдЕрд░реНрде рдпрд╛рдж рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред - рдХреБрдЫ рдЫреЛрдЯреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
ls -a -l
ls -al
рдмрд░рд╛рдмрд░ рд╣реИред рдПрдХ рдПрдХрд▓ рд╣рд╛рдЗрдлрд╝рди рдХреЗ рдмрд╛рдж, рдмрд┐рдирд╛ рддрд░реНрдХ рдХреЗ рдЬрд┐рддрдиреЗ рд╡рд┐рдХрд▓реНрдк рдЪрд╛рд╣рд┐рдП - рдпрджрд┐ рдПрдХ рдЫреЛрдЯреЗ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ, рддреЛ рдпрд╣ рдЖрдорддреМрд░ рдкрд░ рд╡рд┐рдХрд▓реНрдк рдХреЗ рддреБрд░рдВрдд рдмрд╛рдж рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдХрд┐рд╕реА рд╕реНрдерд╛рди рд╕реЗ рдЗрд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
-C 4
рдпрд╛ -C 4
ред рдпрд╣ рдХреЛрдИ рд╕рдВрдпреЛрдЧ рдирд╣реАрдВ рдерд╛ рдХрд┐ рдореИрдВрдиреЗ рдХрд╣рд╛ "рдЖрдорддреМрд░ рдкрд░ред" рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рдирдХ рдСрдкреНрдЯрдкрд░реНрд╕ рд░реВрдмреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЗрди рджреЛрдиреЛрдВ рдорд╛рдорд▓реЛрдВ рдХреЛ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╛рд▓рддреА рд╣реИред Ls рдпреВрдЯрд┐рд▓рд┐рдЯреА рдЙрд╕реА рддрд░рд╣ рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓рддреА рд╣реИред рд▓реЗрдХрд┐рди grep рдЙрдкрдпреЛрдЧрд┐рддрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ -C
рдЕрд▓рдЧ рд╣реИ, рдФрд░ 4
рдЕрд▓рдЧ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдПрдХ рдмрдЧ рд╣реИред рдореИрдВ рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рдХрд┐ рдЕрдкрд╡рд╛рдж рд╣реИрдВ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдкрдХрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдПрдХ рдФрд░ рдЕрдкрд╡рд╛рдж рдмрди рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдкрдХреЗ рдЖрднрд╛рд░реА рд╣реЛрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд░рдЦрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВ рдЬрдм рдПрдХ рдЫреЛрдЯреЗ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди ( -c [param]
) рдХреЗ рд╕рд╛рде рдПрдХ рдЧреИрд░-рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реЛрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ -cxyz
рдХреЛ - xyz
рдФрд░ as -c -x -y -z
рджреЛрдиреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ред рдпрджрд┐ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рд╕реНрдкреЗрд╕ рд▓рд┐рдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╕реЛрдЪрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рд╕рд╛рде рд▓реЗрдЦрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рд╕реЗ рдЬреБрдбрд╝реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдХрд┐рдпрд╛ рдЬрд╛рдПред - рдПрдХ рд▓рдВрдмреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдорддреМрд░ рдкрд░ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рд╕реНрдерд╛рди рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬрд╛рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдорд╛рди рдЪрд┐рд╣реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИред
ls --width=10
рдпрд╛ ls --width 10
рдПрдХ рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рдмрд┐рдирд╛, рдПрдХ рд▓рдВрдмреЗ рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд╛рдж, рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЕрдкрдиреЗ рд▓рд┐рдП рдЬрдЬ рдХрд░реЗрдВ рдХрд┐ рднреНрд░рдо рдХреНрдпрд╛ рдирд┐рдХрд▓реЗрдЧрд╛, рдЦрд╛рд╕рдХрд░ рдпрджрд┐ рдкреИрд░рд╛рдореАрдЯрд░ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдирд╣реАрдВ рд╣реИ)ред - рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдХрд▓реНрдк рдЫреЛрдЯрд╛ рдпрд╛ рд▓рдВрдмрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╛ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдХреЗрд╡рд▓ рдЫреЛрдЯрд╛ рдпрд╛ рдХреЗрд╡рд▓ рд▓рдВрдмрд╛ рд╣реЛред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдВрдмреЗ рдлреЙрд░реНрдо рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдЕрддреНрдпрдзрд┐рдХ рд╡рд╛рдВрдЫрдиреАрдп рд╣реИред
- рдмреВрд▓рд┐рдпрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╡реИрдХрд▓реНрдкрд┐рдХ
no-
рдЙрдкрд╕рд░реНрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: --[no-]pager
ред --[no-]pager
ред --no-pager
рд╡рд┐рдХрд▓реНрдк рдкреЗрдЬреЗрд╢рди рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИ, --no-pager
рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдкреЗрдЬрд┐рдВрдЧ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рд╡рд┐рдХрд▓реНрдк рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рддреА рд╣реИред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдЬрдм рд╡рд┐рдХрд▓реНрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реЛрддреЗ рд╣реИрдВред рдПрдХ рдЙрдкрд╕рд░реНрдЧ рдХреЗ рдмрд┐рдирд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдореВрд▓реНрдп рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред
рд╣рдореЗрд╢рд╛ рдПрдХ рд▓рдВрдмрд╛ рд╡рд┐рдХрд▓реНрдк рд░рдЦрдирд╛ рдХреНрдпреЛрдВ рдЙрдЪрд┐рдд рд╣реИ
рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд▓рдВрдмрд╛ рд░реВрдк рдЖрдорддреМрд░ рдкрд░ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓рдВрдмреЗ рд╡рд┐рдХрд▓реНрдк рдХреЛ рд╕реНрд╡-рджрд╕реНрддрд╛рд╡реЗрдЬреАрдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ sysadmin рдХреНрд░реЛрди рдореЗрдВ рджрд┐рдЦрддрд╛ рд╣реИ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдмреИрдХрдЕрдк рдХрд╛рд░реНрдп рдХреЛ
-zsf -m 100
рд╡рд┐рдХрд▓реНрдк
-zsf -m 100
рд╕рд╛рде рд▓реЙрдиреНрдЪ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рд╡рд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд▓реЗрдЦрдХ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЙрд╕реЗ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдорджрдж рдореЗрдВ рдХреНрд░реЙрд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рд╕рд╣рдордд
--scheme --max-size 100 --gzip --force
, рд╡рд┐рдХрд▓реНрдк рдХрд╛ рд╕реЗрдЯ
--scheme --max-size 100 --gzip --force
рдЙрд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдмрддрд╛рдПрдЧрд╛ рдФрд░ рдЙрд╕реЗ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рдмрд░реНрдмрд╛рдж рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЧрдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд▓рд┐рдП рдЫреЛрдЯреЗ рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдирд╣реАрдВ рдХреА рдЬрд╛рддреА рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╡рд░реНрдгрдорд╛рд▓рд╛ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╣рд░ рдЪреАрдЬ рдкрд░ рдЦрд░реНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд░реНрдгрдорд╛рд▓рд╛ рдореЗрдВ рдЗрддрдиреЗ рд╕рд╛рд░реЗ рдЕрдХреНрд╖рд░ рдирд╣реАрдВ рд╣реИрдВред рджреВрд╕рд░реЗ, рдФрд░ рдЗрд╕рд╕реЗ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд, рдПрдХ рдЫреЛрдЯреЗ рд╡рд┐рдХрд▓реНрдк рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдмрддрд╛рддреА рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рд╕рд╛рдорд╛рдиреНрдп рдСрдкрд░реЗрд╢рди рдХреЗ рджреМрд░рд╛рди рджреНрд╡рд┐рддреАрдпрдХ рдпрд╛ рдЕрд╡рд╛рдВрдЫрдиреАрдп рд╣реИ, рдФрд░ рдпрд╣ рдХрд┐ рдЖрдкрдХреЛ рдЗрд╕реЗ рдмрд┐рдирд╛ рд╕реЛрдЪреЗ-рд╕рдордЭреЗ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдмрд╕ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЖрдк рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рддреЛ, рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдЫреЛрдЯреЗ рдФрд░ рд▓рдВрдмреЗ рджреЛрдиреЛрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд┐рдХрд▓реНрдк рдХреЗрд╡рд▓ рд▓рдВрдмреЗ рд╣реЛрддреЗ рд╣реИрдВред
рдПрдХрд▓-рдлрд╝рдВрдХреНрд╢рди рдФрд░ рдмрд╣реБ-рдлрд╝рдВрдХреНрд╢рди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рдЕрдВрддрд░
рдЗрди рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рддрд░реНрдХреЛрдВ рдХрд╛ рдПрдХ рдЕрд▓рдЧ рдХреНрд░рдо рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкрд╣рд▓реЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП, рдХреЙрд▓ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
executable [options] <arguments>
рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП, рдкреНрд░рд╛рд░реВрдк рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ:
executable [global options] <command> [command options] <arguments>
рдпрд╣рд╛рдБ рдкреБрд╕реНрддрдХ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
git --no-pager push -v origin_master
--no-pager
рдПрдХ рд╡рд┐рдХрд▓реНрдк рд╣реИ рдЬрд┐рд╕реЗ рдХрд┐рд╕реА рднреА git рдХрдорд╛рдВрдб рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░
-v
рдкреБрд╢ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдПрдХ рдЖрджреЗрд╢ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд┐рдХрд▓реНрдк рдФрд░ рд╡рд┐рдХрд▓реНрдк рдПрдХ рд╣реА рдирд╛рдо рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рднреА рдЙрдкрдХрд░рдг рдЙрдиреНрд╣реЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдирд╣реАрдВ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдорд╛рдирдХ OptionParser рдорд╛рдгрд┐рдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрд╕ рдмрд╛рдд рдореЗрдВ рдЕрдВрддрд░ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдХрд▓реНрдк рдХрд┐рд╕ рд╕реНрдерд╛рди рдкрд░ рдорд┐рд▓рд╛ред рдпрджрд┐ рдЖрдк рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ GLI рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдмреЗрд╣рддрд░ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рдмрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдкрд╛рдардХ рдХреЛ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реВрдВ рдХрд┐ рддрдХрдиреАрдХреА рд░реВрдк рд╕реЗ рдЗрдирдкреБрдЯ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЛ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдирд╣реАрдВ рдорд┐рд▓рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддрддреНрд╡реЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдПрдХ рд╕рд░рдгреАред рдорд╛рдгрд┐рдХреНрдп рдореЗрдВ, рдЗрд╕ рд╕рд░рдгреА рдХреЛ
ARGV
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЙрд╕рдХреЗ рд╕рд╛рде рд╣реИ рдХрд┐ рд╣рдо рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рд╕реАрдзреЗ рдпрд╛ рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреА рдорджрдж рд╕реЗред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдпрд╣ рддрддреНрд╡реЛрдВ рджреНрд╡рд╛рд░рд╛ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдирд╣реАрдВ рд╣реИ (рдЕрдиреНрдпрдерд╛ рдпрд╣ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдирд╛рдо), рд╢реЗрд▓ рдореЗрдВ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдирд┐рдпрдо рд╣реИрдВред рдЗрд╕рдореЗрдВ рдкрд╛рддреНрд░реЛрдВ рд╕реЗ рдмрдЪрдирд╛ рдФрд░ рд╕рдореВрд╣рди рдХреЗ рд▓рд┐рдП рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдРрд░реЗ рдореЗрдВ рд╕реНрдХреНрд░реАрди, рдЧреНрд▓реВ рдпрд╛ рдХрдЯ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд - рдорд╛рдирдХ рд╢реЗрд▓рд╡рд░реНрдбреНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рджреЗрдЦреЗрдВред рдЗрд╕рдореЗрдВ рдЗрди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рд┐рд░реНрдл рддреАрди рд╡рд┐рдзрд┐рдпрд╛рдБ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
String#shellsplit
,
String#shellescape
рдФрд░
Array#shelljoin
ред
рдорд╛рдгрд┐рдХреНрдп рд╕рдореБрджрд╛рдп рдореЗрдВ, рдЬреНрдпрд╛рджрд╛рддрд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдпрд╛ рддреЛ OptionParser рдпрд╛ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдкрд░ рдЕрдиреБрднрд╛рдЧ рдореЗрдВ - рдЬрдм рд╣рдо рдереЛрдбрд╝рд╛ рдФрд░ рд╕реАрдЦрддреЗ рд╣реИрдВ - рдореИрдВ OptionParser рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдиреЗ рдХреЛрдб рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛ред
рдЙрдкрдпреЛрдЧреА
рдЖрдк рдкрд╣рд▓реА рдмрд╛рд░ рдЬрдм рдЖрдк рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЙрд╕ рднрдпрд╛рдирдХ_рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рджреЗрдЦреЗрдВред рдПрдХ рдЕрдиреБрднрд╡реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдк рд╢рд╛рдпрдж рддрд░реНрдХреЛрдВ рдХреЗ рдХреНрд░рдо, рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдФрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдЙрдореНрдореАрдж рдореЗрдВ
awesome_program --help
рдЯрд╛рдЗрдк рдХрд░реЗрдВрдЧреЗред рдЬрдм рдЖрдк рдЕрдкрдирд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЬрд╛рд░реА рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЬрд┐рд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдкрд╣рд▓реА рдмрд╛рд░ рджреЗрдЦрд╛ рдерд╛, рд╡рд╣ рд╕рдВрднрд╡рддрдГ рд╡рд╣реА рдкрд╣рд▓рд╛ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕
-h
,
--help
рд╡рд┐рдХрд▓реНрдк рддреИрдпрд╛рд░ рд╣реИрдВред рдпрджрд┐ рдЖрдк рдПрдХ рдкреНрд░рдХрд╛рд░ рдХреА OptionParser рдХреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рджрд┐рдП рдЧрдП рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИ, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреНрд░реЙрдореНрдкреНрдЯ рд▓рд╛рдЗрди рдореЗрдВ рдЬреЛрдбрд╝ рджреА рдЬрд╛рдПрдЧреАред
рд╣реЗрд▓реНрдк рд▓рд╛рдЗрди рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдордиреБрд╖реНрдп рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдорджрдж рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЬрд╣рд╛рдБ рддрдХ рдореБрдЭреЗ рдкрддрд╛ рд╣реИ, рд░реВрдмрд╛рдЗрдореНрд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЖрджрдореА рдореЗрдВ рдкреЗрдЬ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░рддреА рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдордгрд┐-рдордгрд┐ рдордгрд┐ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рд╕реНрдерд╛рдкрд┐рдд рд░рддреНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдореИрди рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдкреЗрдЬ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдореИрди-рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореБрд╢реНрдХрд┐рд▓ nroff рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдХрд╛рд░реНрдп рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, ronn рдХрдирд╡рд░реНрдЯрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдЬреЛ рдЖрдкрдХреЛ рд╕рд░рд▓ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкреНрд░рд▓реЗрдЦрди рдкреГрд╖реНрда рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЬрдм рд╕рдм рдХреБрдЫ рддреИрдпрд╛рд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк
gem man awesome_gem
рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
gem man awesome_gem
- рдФрд░ рд╣реЗрд▓реНрдк рд▓рд╛рдЗрди рджреЗрдЦреЗрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдЖрдк
alias gem='gem man -s'
рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрди рдХрдорд╛рдВрдб рдХреЛ рдордгрд┐ рдореИрди рдХрдорд╛рдВрдб рджреНрд╡рд╛рд░рд╛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдордиреБрд╖реНрдп рдХреЛ рд░рддреНрдиреЛрдВ рдХреА рдорджрдж рд▓реЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЙрди рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдордгрд┐-рдЖрджрдореА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛, рдПрдХ рдирд┐рдпрдорд┐рдд рдЖрджрдореА рдХреЗ рд╕рдВрдмрдВрдзрд┐рдд рдкреГрд╖реНрда рдкрд░ рдПрдХ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди рд╣реЛрддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдореИрди-рдЯрд┐рдкреНрд╕ рдмрдирд╛рдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдкреБрд╕реНрддрдХ рдХреЛ рджреЗрдЦреЗрдВ, рдЗрд╕ рдкрд░ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХрдорд╛рдВрдб рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рд╢реЗрд▓ рд╕реНрддрд░ рдкрд░ рдЯреАрдо рдХреЛ рдСрдЯреЛ-рдкреВрд░реНрдг рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдпрд╣ рд╕рднреА рд╢реЗрд▓ рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)ред рдпрд╣ рдЖрдкрдХреЛ рдЯреИрдм рдмрдЯрди рджрдмрд╛рдХрд░ рдХрдорд╛рдВрдб рдирд╛рдореЛрдВ, рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдЖрджрд┐ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдкреВрд░рдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╡рд░реНрддрдиреА рдХреА рдЧрд▓рддреА рдХрд░рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХрдо рд╣реЛрдЧреА, рдФрд░ рд╡рд╣ рдХрдорд╛рдВрдб рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдмрд╣реБрдд рдХрдо рд╕рдордп рдмрд┐рддрд╛рдПрдЧрд╛ред
рдЯреИрдм рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЕрдВрджрд░ рдХрдорд╛рдВрдбреНрд╕ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП (рдЖрдИрдЖрд░рдмреА рдЬреИрд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдореЛрдб рдореЗрдВ), рдпрд╣ рдорд╛рдгрд┐рдХ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рд░реАрдбрд▓рд╛рдЗрди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕рднреА рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдЖрджреЗрд╢реЛрдВ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ - рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрдЬрд╛рдп
Readline.readline
рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред
рдЯреИрдм-рд╕рдорд╛рдкрди рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
Readline.completion_proc=(block)
рдкрджреНрдзрддрд┐ рд╕реЗ рдПрдХ
Readline.completion_proc=(block)
рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджрд░реНрдЬ рдХрд┐рдП рдЧрдП рдкрд╛рда рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рдЬреЛрдбрд╝ рдХреА рдПрдХ рд╕рд░рдгреА рд▓реМрдЯрд╛рддрд╛ рд╣реИ, рд╡рд╣ рдкреВрд░рд╛ рдХрд╛рдо рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
Readline.completion_proc = proc { |input| allowed_commands.grep /^
рдпрджрд┐ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЪрд▓ рд░рд╣реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕реНрддрд░ рдкрд░ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╢реЗрд▓ рдХреЗ рд╕реНрддрд░ рдкрд░ рдЯреИрдм-рд╕рдорд╛рдкрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХреБрдЫ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИред рдЖрдкрдХреЛ
.bashrc
рд╕рд╛рде рдЯрд┐рдВрдХрд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд▓рд╛рдЗрди рдХреЛ
complete -F get_my_app_completions my_app
рдЕрдм рд╣рд░ рдмрд╛рд░ рдЬрдм рдЖрдк
my_app()[- ]
рдЯрд╛рдЗрдк
my_app()[- ]
, рдФрд░ рддрдм рдЯреИрдм рдХреБрдВрдЬреА,
get_my_app_completions
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ
COMPREPLY
рд╡реИрд░рд┐рдПрдмрд▓ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рдСрдЯреЛ-рдкреВрд░реНрдг рд╡рд┐рдХрд▓реНрдк рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рд╢реЗрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд░рд┐рд╡рд░реНрдзрди рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛ред
.bashrc
рдЖрдкрдХреЛ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдореИрдВ todo рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдПрдХ рдкреБрд╕реНрддрдХ рд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛:
function get_todo_completions() { if [ -z $2 ] ; then
рдЕрдм рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдЪрд▓реЛ рдЗрд╕реЗ рдПрдХ рдЖрд╕рд╛рди рдЕрднреНрдпрд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрдВ):
1) рдпрджрд┐ рдЖрдк рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░
todo help -c
рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрдорд╛рдВрдбреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА
todo help -c
рдЪрд╛рд╣рд┐рдП: рд╕реВрдЪреА, рдРрдб, рдХрдореНрдкреНрд▓реАрдЯ, рд╣реЗрд▓реНрдк (рдкреНрд░рддреНрдпреЗрдХ рдЕрдкрдиреА рд▓рд╛рдЗрди рдкрд░)
2) рдпрджрд┐ рдЖрдк
todo help -c complete
, рддреЛ рдЖрдкрдХреЛ рдЙрди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕реВрдЪреА
todo help -c complete
рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╢реБрд░реВ рд╣реЛ рдЪреБрдХреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрднреА рддрдХ рдкреВрд░реЗ рдирд╣реАрдВ рд╣реБрдП рд╣реИрдВ (рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдкреВрд░рд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред
help -c [...]
рдПрдХ рд╕реЗрд╡рд╛ рдХрдорд╛рдВрдб рд╣реИ, рдЗрд╕рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдорджрдж рдореЗрдВ рдЫреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдЙрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ
.bashrc
ред
рдЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рд╕реНрд╡рдпрдВ рдЙрд╕ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗ рдкреВрдЫрддрд╛ рд╣реИ рдХрд┐ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдпрд╣
help -
рд╡рд┐рдХрд▓реНрдк рдХреЗ рдмрд╛рдж рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдХрд╛рд░реНрдпрдХреНрд░рдо рдЙрд╕ рд╕реНрдерд┐рддрд┐ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ рдЬрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдРрд╕реЗ рд╡рд┐рд╢реЗрд╖ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рд╕реЗрдЯ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдорд╛рдирдХ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд╕рднреА рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦ рдЪреБрдХреЗ рд╣реИрдВ), рдЬрд╣рд╛рдВ рд╕реЗ рдЙрдиреНрд╣реЗрдВ рд╕реАрдзреЗ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ
COMPREPLY
рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдкреБрд╕реНрддрдХ рдореЗрдВ рд▓реЗрдЦрдХ рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА GLI рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рддрд╛ рд╣реИред рдЖрдк рдЬреАрдПрд▓рдЖрдИ рдХреА рдорджрдж рдХреЗ рдмрд┐рдирд╛ рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣рд╛рдВ рдХреЛрдИ рдЬрд╛рджреВ рдирд╣реАрдВ рд╣реИред
рджреВрд╕рд░реЛрдВ рдХреЗ рд╕рд╛рде рдЕрдЪреНрдЫрд╛ рдЦреЗрд▓рддрд╛ рд╣реИ
рд╣рдо рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдмреАрдЪ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдмрд╛рддрдЪреАрдд рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдореБрджреНрджреЗ рдкрд░ рдЪрд░реНрдЪрд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рд╣рд░ рдХреЛрдИ рдЬреЛ рдпреВрдирд┐рдХреНрд╕ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд╡рд╣ рдореВрд▓реНрдпрд╛рдВрдХрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рддрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдореБрдЦреНрдп рдкреНрд░рд╢реНрди рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рдПред
рдХреЛрдб рд╡рд╛рдкрд╕ рдХрд░реЗрдВ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд░рд┐рдЯрд░реНрди рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рдлрд▓ рд╕рдорд╛рдкрди рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ - 0, рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ - рд╡рд┐рднрд┐рдиреНрди рдЧреИрд░-рд╢реВрдиреНрдп рд░рд┐рдЯрд░реНрди рдХреЛрдбред рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдХрд┐рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдиреЗ
$?
рдЪрд░ рд╕реЗ рдЕрдВрддрд┐рдо рдкреВрд░реНрдг рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдХреЗ рдареАрдХ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ
$?
ред рд╡рд╛рдкрд╕реА рдХреА рд╕реНрдерд┐рддрд┐ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдорд╛рдгрд┐рдХ
exit(exit_status)
рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдпрджрд┐ рдЖрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рд┐рдЯрд░реНрди рдХреЛрдб рдЕрд╕рд╛рдЗрди рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рдореМрдХрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдПрдХ рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдо рдпрд╣ рддрдп рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдЧрд╛ рдХрд┐ рдХреНрдпрд╛ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдХреНрдпрд╛ рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдмрд╛рд╣рд░, рдпрд╣ рджреЗрдЦрдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рдХрд┐ рдпрд╣ рдбрд░рд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо "рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд" рд╣реБрдЖ рдпрд╛ рдирд╣реАрдВред рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рд┐рдЯрд░реНрди рдХреЛрдб рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЕрдкрд╡рд╛рдж рд╡рд░реНрдЧреЛрдВ рдХреА рддрд░рд╣ рд╣реИрдВ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдЗрд╕ рддрдереНрдп рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╣реЛ рдХрд┐ рдХреЛрдИ рд░реИрдо рдирд╣реАрдВ рд╣реИ, рдпрд╛ рд╢рд╛рдпрдж рдХреЗрд╡рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдПрдХ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рдЧрд╛рдпрдм рд╣реЛ рдЧрдпрд╛ рдФрд░ рдпрд╣ рдлрд┐рд░ рд╕реЗ рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд▓рд╛рдпрдХ рд╣реИред рдХреБрдЫ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рд╕реЗ рдПрдХ рд╕рд╛рде рджреБрд░реНрдШрдЯрдирд╛рдЧреНрд░рд╕реНрдд рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рд╕рд╛рде рдХрдИ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдмрд┐рдЯ рдорд╛рд╕реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рд╣реЛрддреА рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реЗ рд░рд┐рдЯрд░реНрди рдХреЛрдбреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ, рдХрд┐рди рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ
GNU (рдмрд╣реБрдд рд╕рд╛рдорд╛рдиреНрдп) рдФрд░
FreeBSD (рдмрд╣реБрдд рд╡рд┐рд╢рд┐рд╖реНрдЯ) рд╕рд╛рдЗрдЯреЛрдВ рдкрд░ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрджрд┐ рдЖрдк рддреНрд░реБрдЯрд┐ рдХреЛрдб рд╕реЗ рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдХрдо рд╕реЗ рдХрдо рдиреНрдпреВрдирддрдо рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВ - рддреНрд░реБрдЯрд┐ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдЧреИрд░-рд╢реВрдиреНрдп рдорд╛рди рд▓реМрдЯрд╛рдПрдВред рдЕрдиреНрдпрдерд╛, рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рднреА рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛ рдкрд╛рдПрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╡реИрд╕реЗ, рдЖрдк рди рдХреЗрд╡рд▓ рд╢реЗрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ, рдмрд▓реНрдХрд┐ рд░реВрдмреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП
Kernel.system
рдпрд╛
IO.popen
рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рдЙрдирдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВред рдпрджрд┐ рдЖрдк
system
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ
system
, рддреЛ рдХреНрдпрд╛ рдЖрдк рдПрдХ рд╕рдорд╛рди рд╢реЗрд▓ рд╡реИрд░рд┐рдПрдмрд▓
$?
рдореЗрдВ рдЗрд╕рдХреЗ рд░рд┐рдЯрд░реНрди рдХреЛрдб рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ
$?
ред
I / O рд╕реНрдЯреНрд░реАрдо рдФрд░ рдПрд░рд░ рд╕реНрдЯреНрд░реАрдоред Pipi
рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдмрд╛рддрдЪреАрдд рдХрд╛ рдореБрдЦреНрдп рддрд░реАрдХрд╛ рдкрд╛рдЗрдк рд╣реИред рдПрдХ рдкрд╛рдЗрдк рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рджреВрд╕рд░реЗ рдХреЗ рдЗрдирдкреБрдЯ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред рдПрдХ рдКрд░реНрдзреНрд╡рд╛рдзрд░ рдкрдЯреНрдЯреА рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдкрд╛рдЗрдк
|
ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
ls | sort
ls | sort
, рдкрд╣рд▓рд╛ рднрд╛рдЧ - ls рд╕реНрдХреНрд░реАрди рдкрд░ рдХреБрдЫ рднреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рд╕реЙрд░реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЗрдирдкреБрдЯ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рд╕реЙрд░реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рд▓рд╛рдЗрди рд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдХреЛ рд▓рд╛рдЗрди рдореЗрдВ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рд╕реНрдХреНрд░реАрди рдкрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╕реЙрд░реНрдЯ рдХреА рдЧрдИ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдПрдХ рдУрд░, ls рд╕реНрд╡рдпрдВ рд╣реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕реЙрд░реНрдЯ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕рдХреЗ рд▓рд┐рдП рдЕрднрд┐рдкреНрд░реЗрдд рдирд╣реАрдВ рд╣реИред рдЙрд╕реА рд╕рдордп, рдЗрд╕ рдЙрджреНрджреЗрд╢реНрдп рдХреЗ рд▓рд┐рдП рд╕реЙрд░реНрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реЛрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдХреНрд░рдордмрджреНрдз рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдирд╛рдо рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ (рдЕрдиреНрдпрдерд╛ рдЖрджреЗрд╢ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реЛрдЧрд╛: 1.jpg, 10.jpg, 100.jpg, 2.jpg, ...)ред рдпрд╛ рд░рд┐рд╡рд░реНрд╕ рдСрд░реНрдбрд░ рдореЗрдВ рд╕реЙрд░реНрдЯ рдХрд░реЗрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ (рдЬреИрд╕реЗ рдХрд┐ awk, sed) рдХреА рдорджрдж рд╕реЗ, рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЫрд╛рдВрдЯрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк рдЗрд╕реЗ рд╕рд╣реА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрдкрд╕рд░реНрдЧ рдорд┐рдЯрд╛рдПрдВ)ред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдкрд╛рдЗрдк рдПрдХ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рд╕реЗ рдмрдирд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рддреЛ
ls | sort -n | tail
ls | sort -n | tail
ls | sort -n | tail
рд╕рдВрдЦреНрдпрд╛ рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рдлрд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдХреА рдЕрдВрддрд┐рдо рджрд╕ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдЧреАред
рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ рдХрд┐ рдЖрдкрдХреЛ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЗрдирдкреБрдЯ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЖрдк рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдХреНрдпрд╛ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдФрд░ рдПрд░рд░ рд╕реНрдЯреНрд░реАрдо рдХреНрдпрд╛ рд╣реИред рд╣рдо рдкрд╣рд▓реЗ рджреВрд╕рд░реЗ рдкреНрд░рд╢реНрди рд╕реЗ рдирд┐рдкрдЯреЗрдВрдЧреЗ: рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо (рд╕реНрдЯрдбрдЖрдЙрдЯ) рдФрд░ рдПрд░рд░реНрд╕ (рд╕реНрдЯрдбрд░) рдореЗрдВ рдХреНрдпрд╛ рдЕрдВрддрд░ рд╣реИ? рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдзрд╛рдЧрд╛ рдкрд╛рдЗрдк рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред Stderr рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХреЗрд╡рд▓ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдЙрддреНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдХрд╛рд░реНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд┐рд╕реА рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдирд┐рд╖реНрдкрд╛рджрди рдХрд╛ рдЪрд░рдг, рдбрд┐рдмрдЧрд┐рдВрдЧ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдЖрджрд┐ред рдпрд╣ рдЬрд╛рдирдХрд╛рд░реА рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЗрдирдкреБрдЯ рдХреЛ рдирд╣реАрдВ рдорд┐рд▓рдиреА рдЪрд╛рд╣рд┐рдП, рдпрд╣ рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╕реНрдЯрдбрдЖрдЙрдЯ рд╕реНрдЯреНрд░реАрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдХрд┐рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдкрд░рд┐рдгрд╛рдоред
рдЖрдкрдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рд░реВрдк рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рди рдХреЗрд╡рд▓ рдПрдХ рд╡реНрдпрдХреНрддрд┐, рдмрд▓реНрдХрд┐ рдПрдХ рдорд╢реАрди рдХреЛ рднреА рдЖрдкрдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ
--format=<plain|csv|pretty|html|table|...>
ред рдорд╛рдирд╡-рдкрдардиреАрдп рдкреНрд░рд╛рд░реВрдк (рд╕реБрдВрджрд░ / html / рддрд╛рд▓рд┐рдХрд╛) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдЖрдЙрдЯрдкреБрдЯ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗ рдмрд┐рдирд╛ рдЖрдВрдЦ рдХреЛ рдкреНрд░рд╕рдиреНрди рдХрд░рддреА рд╣реИред рдЬрдм рдЖрдк рдПрдХ рдорд╢реАрди-рдкрдардиреАрдп рдкреНрд░рд╛рд░реВрдк (рд╕рд╛рджреЗ / рд╕реАрдПрд╕рд╡реА) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЖрдкрдХреЗ рд▓рд┐рдП рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИ рдХрд┐ рдкрд░рд┐рдгрд╛рдо рд╕реБрдВрджрд░ рджрд┐рдЦрддрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ - рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИред рдкрд╛рд░реНрд╕рд┐рдВрдЧ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдЯреИрдм-рд╕реАрдорд╛рдВрдХрд┐рдд рдорд╛рди рдпрд╛ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдП рдЧрдП рдорд╛рди (рд╕реАрдПрд╕рд╡реА) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдпрд╛ рдкреНрд░рд╛рд░реВрдк рдПрдХ рдкрдВрдХреНрддрд┐ рд╣реИ - рдПрдХ рдорд╛рди, рдпрд╛ рдПрдХ рдФрд░ рдкреНрд░рд╛рд░реВрдк рдЬреЛ рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИред рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдмрд╛рдд рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдирд┐рд╖реНрдХрд░реНрд╖ рдХреИрд╕реЗ рдмрдирд╛рдпрд╛ рдЬрд╛рдП рдЬреЛ рдбрд┐рд▓рд╛рдЗрдЯ рдпреВрдЬрд░реНрд╕ рд╕реЗрдХреНрд╢рди рдореЗрдВ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╕реБрдЦрдж рд╣реЛред
рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рдкрд░ рд╣рд░ рдмрд╛рд░ рдЖрдЙрдЯрдкреБрдЯ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдЗрдВрдЧрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рдФрд░ рд╕рднреА рдЕрд╡рд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдЪреБрдирдирд╛ рднреА рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдХреНрдпрд╛ рдХреЛрдИ рдЪрд╛рд▓ рд╣реИ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧреА рдХрд┐ рдЖрдЙрдЯрдкреБрдЯ рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдпрд╛ рдорд╢реАрди рдХреА рдЖрдВрдЦреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ, рдЕрд░реНрдерд╛рддреН
IO#tty?
рд╡рд┐рдзрд┐
IO#tty?
ред
$stdout.tty?
рдХреЙрд▓ рдХрд░реЗрдВ
$stdout.tty?
рдЖрдкрдХреЛ рдмрддрд╛рдПрдЧрд╛ рдХрд┐ рдЖрдкрдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЯрд░реНрдорд┐рдирд▓ рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЖрдкрдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдкрд╛рдЗрдк рдкрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдд рд╣реИ рдпрд╛ рдлрд╝рд╛рдЗрд▓ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░:
ls > output.txt
)ред рдЯрд░реНрдорд┐рдирд▓ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрджреЗрд╢рд┐рдд рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рд▓рд┐рдП рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрд╡рд░реВрдкрдг
options[:format] = $stderr.tty? ? 'table' : 'csv'
рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ:
options[:format] = $stderr.tty? ? 'table' : 'csv'
options[:format] = $stderr.tty? ? 'table' : 'csv'
рдФрд░ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд┐рд╕реА рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдЖрдЙрдЯрдкреБрдЯ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк рдореЗрдВ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рдХреЗ рд▓рд┐рдП, рдмрд╕ рдкреНрд░рд╛рд░реВрдк рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред
рдЕрдм рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдХреАред рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХреНрдпрд╛ рдбреЗрдЯрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╣, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЖрдЗрдП рд╕реЛрдЪрддреЗ рд╣реИрдВ, рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдХреМрди рд╕рд╛ рдбреЗрдЯрд╛ рдЖ рд╕рдХрддрд╛ рд╣реИ? рд╕реНрдкрд╖реНрдЯ рдЙрддреНрддрд░ рд╡рд╣ рд╣реИ рдЬреЛ рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╣реИ рдЬреЛ рдПрдХ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдлрд╛рдЗрд▓ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдлрд╛рдЗрд▓ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрддрд╛ рд╣реИред рдХреНрдпрд╛ рдпрд╣ рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рд╕реЗ рдореИрдЯреНрд░рд┐рд╕реЗрд╕ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рд╣реИ? рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдпрд╣ рдирд╣реАрдВ рд╣реИ: рдпрд╣ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдореЗрдВ рдХреИрд╕реЗ рдФрд░ рдХреНрдпреЛрдВ рдорд┐рд▓рддрд╛ рд╣реИ? рдПрдХ рдмрд╛рд░ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реЛрдЧрд╛ред рдпрд╣ рд╡рд╣ рдбреЗрдЯрд╛ рд╣реИ рдЬреЛ ls рдХрдорд╛рдВрдб рджреЗ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдПред
рдЖрдк рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд╕рд╛рде рдмрд╣рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдкрд░ рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рдХрд░реЗрдЧрд╛ рдФрд░ рдХрдИ рдмрд╛рд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд▓рд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдлрд┐рд░ рдЖрдк рдЗрд╕реЗ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рд╕реЗ рдПрдХ I / O рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХреЗ рд╕рд╛рде рд╕реАрдзреЗ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдЦреЛ рджреЗрддреЗ рд╣реИрдВ, рдЖрдкрдХреЛ рдПрдХ рд▓реВрдк рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЬрд▓реНрджреА рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдПрдХ рд╕реЗрдХрдВрдб рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрдХ рд╕реМ рдПрдХ рд╕реМ рдореИрдЯреНрд░рд┐рд╕реЗрд╕ рдЦрд░реНрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдЕрдлрд╕реЛрд╕, рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╣реИ - рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЖрд╢рд╛рд╡рд╛рджреА - рд╕рдордп рд╕реНрдХреЗрд▓ рдЬрдм рдПрдХ рд╡рд┐рдВрдбреЛрдЬ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рдордгрд┐ рд╕реЗ рдХрдИ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ) ред рд▓реЗрдХрд┐рди, рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЪреБрдирд╛рд╡ рдЖрдкрдХрд╛ рд╣реИред рдЬреЛ рдЙрдЪрд┐рдд рд╣реИ рдЙрд╕реЗ рдХрд░реЛ рдФрд░ рдореИрдиреБрдЕрд▓ рдореЗрдВ рдЗрд╕рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдордд рднреВрд▓рдирд╛редрд╡реИрд╕реЗ, рдХреНрдпрд╛ рдпрд╣ рдПрдХ рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИ рдЬреЛ рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЬреНрдЮрд╛рдд рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдЗрдирдкреБрдЯ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХреЗрдВ$stdin.tty?
рд╕рдВрдХреЗрдд
рдЕрдВрдд рдореЗрдВ, рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдВрдЪрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдмрд┐рдирд╛ рдЦрд╛рддреЗ рдореЗрдВ рд╕реЙрдХреЗрдЯ рдФрд░ рдЙрдирд╕реЗ рдЬреБрдбрд╝реА рд╕рдм рдХреБрдЫ) рд╕рдВрдХреЗрдд рдХреЗ рд▓рд╛рдпрдХ рд╣реИ - рд╕рдВрдХреЗрддред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд▓рдВрдмреА рдЪрд▓рдиреЗ рд╡рд╛рд▓реА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡реЗрдм рд╕рд░реНрд╡рд░, рдФрд░ рдЖрдкрдХреЛ рдЙрд╕реЗ рд░рд┐рдмреВрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдирдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЖрдк рдЙрд╕реЗ рдПрдХ рд╕рдВрдХреЗрдд (рдЖрдорддреМрд░ рдкрд░ SIGHUP) рднреЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рд╡рд╣, рдЙрд╕реЗ рд░реЛрдХрддреЗ рд╣реБрдП, рд╡рд╣реА рдХрд░реЗрдЧрд╛ рдЬреЛ рд╡реЗ рдЙрд╕рд╕реЗ рдкреВрдЫрддреЗ рд╣реИрдВред рдпрд╛ рд╣реИрдВрдбрд▓рд░ рдХреЛ SIGINT рд╕рд┐рдЧреНрдирд▓ рдкрд░ рд▓рдЯрдХрд╛рдПрдВ, рдЬреЛ Ctrl + C рджрдмрд╛рдХрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕рдЯреАрдХ рд░реВрдк рд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛ред рдпрд╣ рд╕рдм рд╡рд┐рдзрд┐ рджреНрд╡рд╛рд░рд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИSignal.trap
ред рдпрд╣ рд╡рд┐рдзрд┐ рд╕рдВрдХреЗрдд рдХреЗ рдирд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрддреА рд╣реИ рдФрд░ рдЙрд╕ рдмреНрд▓реЙрдХ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕рдВрдХреЗрдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЖрддрд╛ рд╣реИред рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ (рд╕рд╛рде рд╣реА рд╕рд╛рде рдереНрд░реЗрдб рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рди, рд╡реИрд╕реЗ) рд╕рднреА POSIX рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ, рдЕрд░реНрдерд╛рддред рдпреВрдирд┐рдХреНрд╕ рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рджреЛрдиреЛрдВ рдкрд░ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рд╕рдорд░реНрдерд┐рдд рд╕рдВрдХреЗрддреЛрдВ рдХрд╛ рд╕реЗрдЯ рдпреВрдирд┐рдХреНрд╕ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЫреЛрдЯрд╛ рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдк рдПрдХ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╕рд┐рдЧреНрдирд▓ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЬрдЧрд╣ рд╣реИредрдпрд╣рд╛рдВ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдХреИрд╕реЗ Ctrl + C рджрдмрд╛рдХрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдкрд╣рд▓реЗ рдЕрдзреВрд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╕рд╛рдл рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдпрд╣ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреНрд░реБрдЯрд┐ рдХреЛрдб рд▓реМрдЯрд╛рддрд╛ рд╣реИ: Signal.trap("SIGINT") do FileUtils.rm output_file exit 1 end
рд╕рдордЭрджрд╛рд░ рдЪреВрдХ рд╣реИ рд▓реЗрдХрд┐рди рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╣реИ
рдореИрдВ рджреЛрд╣рд░рд╛рддрд╛ рд╣реВрдВ, рдПрдХ рд╣рдЬрд╛рд░ рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП рдмрд┐рдирд╛ рдорд╛рдирдХ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЗ рдЙрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдХрд╕реНрдЯрдо рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рдЕрднреА рднреА рд╕рд╕реНрддреА рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯ рдЕрдиреБрдХреВрд▓рди рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПредрдорд╛рдирдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ, рд╕рдм рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рд╣реИред рдпрд╣ рд╕реЛрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВредрд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЬрд╝рд░реВрд░рддреЗрдВ рдереЛрдбрд╝реА рдЕрд▓рдЧ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдпрдерд╛рд╕рдВрднрд╡ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВред рдпрджрд┐ рдЖрдкрдХрд╛ рдЖрд╡реЗрджрди рдПрдХ рдХрд╛рд░реНрдп рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рд▓рдЪреАрд▓реЗ рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдЙрдЪрд┐рдд рд╕реАрдорд╛ рдХреЗ рднреАрддрд░), рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдкрдХреЛ рдзрдиреНрдпрд╡рд╛рдж рджреЗрдВрдЧреЗред рдпрджрд┐ рд▓рд╛рдЧреВ рд╣реЛ рддреЛ рдЧреИрд░-рдорд╛рдирдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдбрд░рд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдпрджрд┐ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рд╣реИрдВ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреЛ рдмрд╛рд░ рд╕реЛрдЪреЗрдВрдЧреЗ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЗрд░рд╛рджрд╛ рд╣реИред рдореБрдЭреЗ рдЖрдкрдХреЛ рджреБрд░реНрд▓рдн рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд▓рдВрдмрд╛ рдХрд░рдиреЗ рдФрд░ рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ ( --use-nonstandard-mode
рдмрдЬрд╛рдп -u
) рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИ редрдореИрдВ рдЕрдВрддрд┐рдо рдмрд┐рдВрджреБ рдкрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдзреНрдпрд╛рди рдХреЗрдиреНрджреНрд░рд┐рдд рдХрд░реВрдВрдЧрд╛ред "рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ-рд╕реЗрдЯ рдЕрдиреБрдХреВрд▓рди рдпреЛрдЧреНрдп рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП" рдХреНрдпрд╛ рд╣реИ? рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдХрдИ рд▓реЛрдЧ рдЖрдкрдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЕрдХреНрд╕рд░ рдХрд░рддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдиреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдмреИрдХрдЕрдк рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд▓рд┐рдЦреА рд╣реИред рдЖрдкрдХрд╛ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рд╣рд░ рджрд┐рди рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП --no-scheme --gzip
) рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЯрд╛рдЗрдк рдХрд░рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ db_backup my_db
редрд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЗ рд╕рд╣рдпреЛрдЧрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рдирдХреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрдХреАрдорд╛ рд╣рд░ рджрд┐рди рдмрджрд▓рддреЗ рд╣реИрдВред рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╣рд░ рджрд┐рди рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ db_backup --scheme my_db
, рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рдХреБрдВрдЬреА рдХреЛ рдирд╣реАрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдк рд╕рд╣реА рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЖрдк рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ sisadminskie рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░рд╣реЗ рд╣реИрдВ ... рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдореЗрдВ рд╡рд╣рд╛рдБ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╣реЛрдЧрд╛ рдЕрдЧрд░ --login
, --password
, --host
,--force
, рдФрд░ рдРрд╕реЗ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЗ рдмрд┐рдирд╛ рдкреБрди: рдкреЗрд╢ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рднреА рдЬрд┐рд╕рдХреА рдЕрдиреНрдп рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдЬрд╛рддреА рд╣реИрдВред рд╕рд┐рд╕реНрдЯрдо рдкреНрд░рд╢рд╛рд╕рдХ рдпрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЗрди рд╕рднреА рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рджрд░реНрдЬ рдХрд░рдиреЗ рдФрд░ рд╣рд░ рдмрд╛рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рди рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЖрдк рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВредрдЗрд╕рдХреЗ рд▓рд┐рдП рд╡реНрдпреВ рдлрд╛рдЗрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ ~/.myapp.rc
ред рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреЛрдИ рдЬрд╛рджреВ рдирд╣реАрдВ рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рд╕рдордЭреМрддрд╛ рд╣реИред рдЕрдкрдиреЗ рд╣реЛрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдкрдиреА рдкрд╕рдВрджреАрджрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛ рд╕рдХрддрд╛ рд╣реИред рд╣реЛрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ - рддрд╛рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЪреВрдХ рд╕реЗрдЯ рдХрд░ рд╕рдХреЗрдВред рдлрд╝рд╛рдЗрд▓ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдмрд┐рдВрджреБ рдЗрд╕реЗ рдЫрд┐рдкрд╛рдирд╛ рд╣реИред .Rc рд╡рд┐рд╕реНрддрд╛рд░ рдкрд░рдВрдкрд░рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢реНрд░рджреНрдзрд╛рдВрдЬрд▓рд┐ рд╣реИредрдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреНрдпрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? рдмрд╕ рдЙрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдирд╛ рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдЪреВрдХ рд╕реЗ рдЕрд▓рдЧ рд╣реИрдВред рдЗрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП YAML рдкреНрд░рд╛рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рдж рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред рдореИрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреВрдВрдЧрд╛: --- :gzip: false :force: true :user: "Bob" :password: "Secr3t!"
рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдЗрди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдХреИрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПред require 'yaml' require 'optparse'
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рд╣реИ - рдпрд╣ рдЙрд╕реА рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдХреЗрд╡рд▓ рд╣реИрд╢ рдореЗрдВ рдЗрд╕ рд╕рдордп рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд┐рдХрд▓реНрдк рдФрд░ рдиреЗрд╕реНрдЯреЗрдб рд╣реИрд╢ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдХрдорд╛рдВрдб рдХреЗ рд╡рд┐рдХрд▓реНрдк рджреЛрдиреЛрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред --- :filename: ~/.todo.txt :url: http:
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдХреЗ рдЕрдиреНрдп рддрд░реАрдХреЗ рд╣реИрдВ, YAML рдмрд╕ рд╕рдмрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрдврд╝рдиреЗ рдпреЛрдЧреНрдп рд╣реИред рдПрдХ рддрд░реАрдХрд╛ рдпрд╛ рджреВрд╕рд░рд╛, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдПрдХ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рддрдХрдиреАрдХ рд╣реИред рдпрд╣ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдордгрд┐ рдФрд░ rspec рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ, рд╕рд╛рде рд╣реА рдЧрд┐рдЯ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдП рдЧрдП рд╣реИрдВредрджрд░реНрдж рд░рд╣рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ
рд╕реНрдерд╛рдкрдирд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реЛрдиреЗ рдкрд░ рдХреЛрдИ рднреА рдмрд╣реБрдд рдЕрдЪреНрдЫреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рдорд╛рдгрд┐рдХ рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдорд╛рдгрд┐рдХреНрдп рд╣реИ - рдПрдХ рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ: рдПрдХgem install/update gemname
рд░рддреНрди рдПрдХ рдкреИрдХреЗрдЬ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╕реНрд░реЛрдд рдХреЛрдб рд╣реЛрддреЗ рд╣реИрдВ, рд╕рд╛рде рд╣реА рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдФрд░ рд▓реЗрдЦрдХ, рдкреИрдХреЗрдЬ рдХрд╛ рд╡рд┐рд╡рд░рдг, рд╕рд╛рде рд╣реА рд╕рд╛рде рдирд┐рд░реНрднрд░рддрд╛ рдХрд╛ рдПрдХ рд╕реЗрдЯ (рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ) рдХреМрди рд╕реЗ рд░рддреНрди рдЖрдкрдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдпрд╛ рдЖрдкрдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╕рднреА рд░рддреНрди rubygems.org рд╕рд░реНрд╡рд░ рдкрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, рд░рддреНрдиреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЖрдкрдХреЛ рдпрд╣ рдирд╣реАрдВ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдкреИрдХреЗрдЬ рдХреЛ рдХрд╣рд╛рдБ рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реИ, рдпрд╣ рд╕рднреА рдХреЗ рд▓рд┐рдП рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд┐рдд рд╣реИ (рдмреЗрд╢рдХ, рдЖрдк рдХреЙрд░рдкреЛрд░реЗрдЯ рд░рддреНрдиреЛрдВ рдХреЗ рд╕рд░реНрд╡рд░ рдХреЛ рдЕрд▓рдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдЕрдкрдиреЗ рд░рддреНрдиреЛрдВ рдХреЛ рдмрд╛рд╣рд░реА рд▓реЛрдЧреЛрдВ рдХреЛ рди рджреЗрдВ) рдФрд░ рдордгрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд░рддреНрдиреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИредрдЬрдм рдЖрдк рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВgem install
, рдкреИрдХреЗрдЬ рдкреНрд░рдмрдВрдзрдХ рд░реВрдмреАрдЧреИрдо рд╕рд░реНрд╡рд░ рдкрд░ рджрд┐рдП рдЧрдП рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдкреИрдХреЗрдЬ рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрд╣ рдкрддрд╛ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рд░рддреНрдиреЛрдВ (рдФрд░ рдХреМрди рд╕реЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ) рдХреЛ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдлрд┐рд░ рд╡рд╣ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдкреИрдХреЗрдЬреЛрдВ рдХреЛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдореВрд▓ рдХреЛрдб рдХреЛ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИ (рдпреЗ рдорд╛рдгрд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ рдмрд╛рдпрдиреЗрд░рд┐рдЬрд╝)ред рдкреНрд░рдгрд╛рд▓реА рдореЗрдВ, рдПрдХ рдордгрд┐ рдХрд┐рд╕реА рднреА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЦрдбрд╝рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдирд┐рд░реНрднрд░рддрд╛ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХрд╛ рдЕрдкрдирд╛ рд╕реЗрдЯ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рд╕рдВрдШрд░реНрд╖ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ 2.3.8 рдФрд░ рд░реЗрд▓ 3.2 рд╣реИрдВ, рддреЛ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдПрдХреНрдЯрд┐рд╡рд╛рд╕реБрдкреЛрд░реНрдЯ рдХреЗ рдЕрдкрдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдпрд╣ рд╕реБрд╕рдВрдЧрдд рд╣реИредрдореИрдВрдиреЗ рд░рддреНрдиреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦрд╛, рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИрдмреЗ рдкрд░ рдПрдХ рдЙрддреНрдХреГрд╖реНрдЯ рд▓реЗрдЦ рдерд╛рдпрджрд┐ рдЖрдк рдЕрднреА рднреА рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИ - рддреЛ рдЕрднреА рдЕрдкрдиреЗ рдЖрдк рдХреЛ рдореЗрд░реЗ рд▓реЗрдЦ рд╕реЗ рджреВрд░ рдХрд░ рджреЛ рдФрд░ рдЕрдкрдирд╛ рдЖрдзрд╛ рдШрдВрдЯрд╛ рдЗрд╕ рдореБрджреНрджреЗ рдкрд░ рдмрд┐рддрд╛рдУред рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓, рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдпрджрд┐ рдЖрдк рд░реВрдмреА рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХрд╛ рдЗрд░рд╛рджрд╛ рд░рдЦрддреЗ рд╣реИрдВредрдЬрдм рдЖрдк рдЕрдкрдирд╛ рд░рддреНрди рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рд╕рд┐рдореЗрдВрдЯрд┐рдХ рд╡рд░реНрдЬрдирд┐рдВрдЧ рдирд╛рдордХ рдПрдХ рдмрд╣реБрдд рд╕реБрд╕рдВрдЧрдд рд╕рдордЭреМрддрд╛ рд╣реИред рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рддреАрди рдирдВрдмрд░ рд╣реЛрддреЗ рд╣реИрдВ: рдореЗрдЬрд░.рдорд╛рдЗрдирд░.рдкрдЪред рд╕рдмрд╕реЗ рдХрдо рд╕рдВрдЦреНрдпрд╛ - рдкреИрдЪ рд╕реНрддрд░ рдмрдЧ рдлрд┐рдХреНрд╕ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЬрдм рдПрдкреАрдЖрдИ рдкрд░рд┐рд╡рд░реНрддрди рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрдд рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рдФрд╕рдд рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИред рдФрд░ рдкреБрд░рд╛рдиреА рд╕рдВрдЦреНрдпрд╛ рдмрджрд▓ рдЬрд╛рддреА рд╣реИ рдЬрдм рдкрд░рд┐рд╡рд░реНрддрди рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдкрд┐рдЫрдбрд╝реЗ рд╕рдВрдЧрддрддрд╛ рдХреЛ рдмрд░реНрдмрд╛рдж рдХрд░ рджреЗрддрд╛ рд╣реИред рд╕реВрдЪрдирд╛, рд╕рдВрдЦреНрдпрд╛ рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рдВрд╕реНрдХрд░рдг рд╕рдВрдЦреНрдпрд╛ рдЖрд╕рд╛рдиреА рд╕реЗ рдЗрд╕ рддрд░рд╣ рд╣реЛ рд╕рдХрддреА рд╣реИ: 1.13.2редрд╕рд┐рдореЗрдВрдЯрд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдЙрдкрдпреЛрдЧреА рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдореЗрдВ рдЖрдк рдордгрд┐ рдХреЗ рд╕рдЯреАрдХ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдкреИрдЪ рд╕реНрддрд░ рдпрд╛ рд▓рдШреБ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд┐рдП рд╕рдЯреАрдХ рд╕рдВрд╕реНрдХрд░рдгред рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЖрдкрдХреЛ рдЕрд╡рд╕рд░ рдорд┐рд▓рддрд╛ рд╣реИ, рдмрд┐рдирд╛ рдЕрдкрдиреЗ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдХрд┐рдП рдмрд┐рдирд╛, рдлрд┐рдХреНрд╕реЗрд╕ рдЬреЛ рдХрд┐ рдирд┐рд░реНрднрд░рддрд╛ рдкреИрдХреЗрдЬ рдореЗрдВ рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рд╛рде рд╣реА, рдЖрдкрдХреЗ рдкрд╛рд╕ рдирд┐рд░реНрднрд░рддрд╛ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдмрджрд▓рдиреЗ рд╕реЗ рд░реЛрдХрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реЛрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЕрдЧрд▓реЗ рдЕрдкрдбреЗрдЯ рдХреЗ рд╕рд╛рде рдЖрдкрдХреЗ рдкреИрдХреЗрдЬ рдХреЗ рд╕рд╛рде рдПрдкреАрдЖрдИ рдкрд░рд┐рд╡рд░реНрддрди рдЕрд╕рдВрдЧрдд рди рд╣реЛредрдЕрдм - рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╢рдмреНрджред рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдЕрдкрдиреЗ рдордгрд┐ рдХреЗ рдмрд┐рди рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд░рдЦреА рдЧрдИ рд╕рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрджрд┐ рдЖрдк рдПрдХ рдордгрд┐ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ рдмрдВрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ)ред ... / рд░реВрдмреА / рдмрд┐рди рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдкреИрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╕рдордп, рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдВрдХ рдХреА рддрд░рд╣ рдХреБрдЫ рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдПрдХ рд╡рд┐рд╢реЗрд╖ рд░реВрдмреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдЬреЛ рдЬрд╛рдирддреА рд╣реИ рдХрд┐ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдХреА рддрд▓рд╛рд╢ рдХрд╣рд╛рдВ рд╣реИ)ред рдЪрд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдорд╛рдгрд┐рдХ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдлрд╝реЛрд▓реНрдбрд░ рдкрде рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ - рдФрд░ рдЗрд╕ рддрд░рд╣ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдмрди рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдордгрд┐ рд╕реЗ рд╕рднреА рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╛рдЗрд▓реЗрдВ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрд╣реАрдВ рд╕реЗ рднреА рд╕реБрд▓рдн рд╣реЛ рдЬрд╛рддреА рд╣реИрдВредрд╡рд┐рдВрдбреЛрдЬ рдХреЗ рддрд╣рдд, рдкреНрд░рдХреНрд░рд┐рдпрд╛, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВ рдЗрд╕реЗ рд╕рдордЭрддрд╛ рд╣реВрдВ, рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ - рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдПрдХ рдмреИрдЯ рд░реИрдкрд░ рднреА рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдирд┐рдпрдВрддреНрд░рдг рдХреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реЗ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ, рдпреЗ рд╕рднреА рд╡рд┐рд╡рд░рдг рдЫрд┐рдкреЗ рд╣реБрдП рд╣реИрдВредрдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреНрдпрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП?рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдПрдХ рд░реВрдмреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ, рдЖрдкрдХреЛ .rb рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдмрддрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рди рддреЛ рдпреВрдирд┐рдХреНрд╕ рдкрд░, рди рд╣реА рд╡рд┐рдВрдбреЛрдЬ рдкрд░ред рдпрд╣ рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░реЗрдЧрд╛, рдФрд░ рдПрдХ рд╕рдлрд▓ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИредрджреВрд╕рд░реА рдмрд╛рдд, рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдХреЛ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП: #!/usr/bin/env ruby
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрд╕ рд░реЗрдЦрд╛ рдХрд╛ рдорд╛рд░реНрдЧ рдирд╣реАрдВ рд╣реИ /usr/bin/ruby
ред env
рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдЖрдкрдХреЛ рдорд╛рдгрд┐рдХ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИ, рднрд▓реЗ рд╣реА рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд рд╣реЛ, рдЬреЛ рдХрд┐ рдЖрд░рд╡реАрдПрдо рд╕реНрдерд╛рдкрд┐рдд рд╣реЛрдиреЗ рдкрд░ рдмрд╕ рдЖрд╡рд╢реНрдпрдХ рд╣реИредрддреАрд╕рд░рд╛, рд╕рднреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рддрд░реНрдХ рдХреЛ рдПрдХ рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдбрд╛рд▓рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, lib / my_exec.rb, рдФрд░ рдЗрд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рд░рддреНрди рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдкрдврд╝реЗрдВ, рдЬрд┐рд╕рдХрд╛ рдореИрдВрдиреЗ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ:
рдпрджрд┐ рдЖрдк рдЕрдкрдиреЗ рд░рддреНрди рдкреИрдХреЗрдЬ рдХреЛ рдЗрдХрдЯреНрдард╛ рдирд╣реАрдВ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓реЗрддреЗ рд╣реИрдВ рддреЛ рдЖрдкрдХреЛ рдХрд┐рди рдкрд░реЗрд╢рд╛рдирд┐рдпреЛрдВ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рд╣реИ? рдЦреИрд░, рдирд┐рд░реНрднрд░рддрд╛ рдирд┐рдпрдВрддреНрд░рдг рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рд╕рддрд╣реА рд╕рд┐рд░рджрд░реНрдж рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рдПрдХ рдФрд░ рдЕрдкреНрд░рд┐рдп рдЖрд╢реНрдЪрд░реНрдп рдорд┐рд▓реЗрдЧрд╛ред рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдЖрдкрдиреЗ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреА рд╣реИ рдФрд░ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдкрд░ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ my_app value1 value2
ред рдЖрдк рдХрд┐рд╕ рддрд░реНрдХ рдХреА рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВ? рд╢рд╛рдпрдж ['value1', 'value2']
ред рдЖрдкрдХреЗ рдкрд╛рд╕ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рд╣реИ? рдпреВрдирд┐рдХреНрд╕ рдкрд░, рд╕рдм рдХреБрдЫ рд╡реИрд╕рд╛ рд╣реА рд╣реЛрдЧрд╛ рдЬреИрд╕рд╛ рдЖрдк рдЙрдореНрдореАрдж рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдЬрдм рдЖрдк рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рдЦрд╛рд▓реА рддрд░реНрдХ рд╕реВрдЪреА рд╣реЛрддреА рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ my_app
рдпрд╣ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рддрд░реНрдХреЛрдВ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд░реВрдмреАред exe рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЖрдорддреМрд░ рдкрд░ рддрд░реНрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ)ред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдП рддрд░реНрдХреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╢рдмреНрдж рд░реВрдмреАред рдпрд╛рдиреА
рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдкреНрд░рддреНрдпреЗрдХ рд▓реЙрдиреНрдЪ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛: ruby my_app value1 value2
рдФрд░ рдпрджрд┐ рдЖрдк рдорд╛рдгрд┐рдХ рд╢рдмреНрдж рдХреЛ рднреВрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣ рд╕рдордЭрдиреЗ рдХрд╛ рдореМрдХрд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреБрдЫ рднреА рдХреНрдпреЛрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИредрдпрд╛рдж рд░рдЦреЗрдВ, рдореИрдВрдиреЗ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ рдорд╛рдгрд┐рдХ рдПрдХ рдмреИрдЯ рд░реИрдкрд░ рдмрдирд╛рддрд╛ рд╣реИ? рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдмреИрдЯ рдлрд╛рдЗрд▓ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдХреЗ рддрд░реНрдХреЛрдВ рдХреЛ рд╕рдордЭрддреА рд╣реИ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдареАрдХ рд╕реЗ рдХреЙрд▓ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреА рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдорд╛рдгрд┐рдХ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдорд░рд╣рдо рдореЗрдВ рдПрдХ рдордХреНрдЦреА рд╣реЛрддреА рд╣реИ: рдХреЙрд▓ рдХрд╛ рдРрд╕рд╛ рдЭрд░рдирд╛ рдЖрд╡реЗрджрди рдХреА рд╢реБрд░реБрдЖрдд рдХреЛ рдзреАрдорд╛ рдХрд░ рджреЗрддрд╛ рд╣реИред рдХрднреА-рдХрднреА рд╣реИрд▓реЛ рд╡рд░реНрд▓реНрдб рдкрд╛рдВрдЪ рд╕реЗрдХрдВрдб рдХреЗ рд▓рд┐рдП рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рд╕рдм рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рдЧрддрд┐ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдкреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд▓рдВрдмреА рд╣реИ (рдЬрд╣рд╛рдВ рддрдХ тАЛтАЛрдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ, рд╡рд┐рдВрдбреЛрдЬ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдЖрдорддреМрд░ рдкрд░ рдпреВрдирд┐рдХреНрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рднрд╛рд░реА рд╣реИрдВ)ред рдЬрдм рдЖрдк рджреМрдбрд╝рддреЗ рд╣реИрдВ рддреЛ рдпрд╣ рдХрд╖реНрдЯрдкреНрд░рдж рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░рддреНрдпреЗрдХ рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрди рдХреЗ рдмрд╛рдж rspecред рдпрд╛ рд╣рд░ рдкрд╛рдВрдЪ рдорд┐рдирдЯ рдореЗрдВ, git response рдХреЗ рд▓рд┐рдП рдкрд╛рдВрдЪ рд╕реЗрдХрдВрдб рдХрд╛ рд╕рдордп рд╡реНрдпрддреАрдд рдХрд░реЗрдВ (рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рд╕реЗ рдЧреНрд░рд╕реНрдд рд╣реИ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдорд╛рдгрд┐рдХ рдореЗрдВ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ)ред рд▓реЗрдХрд┐рди рдпрд╣ рдХреАрдордд рд╣реИрдЬреЛ рдЖрдкрдХреЛ рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рднреБрдЧрддрд╛рди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рджреВрд╕рд░реЗ рддрд░реАрдХреЗ рд╕реЗ - рдХреБрдЫ рднреА рдирд╣реАрдВредрдЗрдирд╛рдпрдд рдХрд░рддрд╛ рд╣реИ
рдпрд╣ рд╕рдм рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИредрдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреНрд░реИрд╢ рд╣реЛ рдЧрдИред Stderr рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ, рд╕рдВрднрд╡ рд╕рдорд╛рдзрд╛рди рд╕реБрдЭрд╛рдПрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреМрди рд╕рд╛ рддрд░реНрдХ рдЧрд╛рдпрдм рд╣реИ рдпрд╛ рдХреМрди рд╕реЗ рд╡рд┐рдХрд▓реНрдк рд╕рдВрдШрд░реНрд╖)ред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЙрдкрдпреЛрдЧ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реА рдПрдХ рд╣реЗрд▓реНрдк рд▓рд╛рдЗрди рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред рдФрд░ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдЕрдЧрд░ рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рддрд░реНрдХ рдирд╣реАрдВ рд╣реИрдВредрдХреНрдпрд╛ рдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд▓рд┐рдЦрддреА рд╣реИ рдпрд╛ рд╢рд╛рдпрдж рдпрд╣ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдорд┐рдЯрд╛ рджреЗрддреА рд╣реИ? рдпрджрд┐ рд╣рд╛рдВ, рддреЛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдпрд╣ рдореМрдЬреВрджрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдлрд╝рд╛рдЗрд▓ рдореМрдЬреВрдж рд╣реИ, рддреЛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдпрд╣ рдХрд╣рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдлрд╝рд╛рдЗрд▓ рд╕рдВрд╢реЛрдзрди рдХреА рдкреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдкреВрдЫрдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрд╛ рдХреБрдВрдЬреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдкреЗрд╢рдХрд╢ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП --force
ред рдЦреИрд░, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдПрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рджреЗрдВ рдХрд┐ рд╡рд╣ рдХрд┐рд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдпрд╛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИредрдХреНрдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдЕрдЬреАрдм рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдП? рдЙрд╕рд╕реЗ рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣реЗрдВ рдХрд┐ рдЙрд╕рдХрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рдПрдХ рдХрдорд╛рдВрдб рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВред rm -rf * .log
рдпрд╣ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реНрдерд╛рди рдЖрдкрдХреЛ рдмрд╣реБрдд рдЦрд░реНрдЪ рдХрд░реЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдлрд┐рд░ рд╕реЗ рдкреВрдЫреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдЖрдкрдХреЛ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд╡рд┐рдирд╛рд╢рдХрд╛рд░реА рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИредрдирдИ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдФрд░ рдмрдЧ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдареАрдХ рдХрд░рддрд╛ рд╣реИ
рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рд╕рдорд░реНрдерди рдмрд╣реБрдд рд╡реНрдпрд╛рдкрдХ рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдореЙрдбреНрдпреВрд▓рд░ рдмрдирд╛рдПрдВ, рдЗрд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рддреЛрдбрд╝ рджреЗрдВред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдЗрд╕реЗ рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд░рддреНрдиреЛрдВ рдореЗрдВ рддреЛрдбрд╝ рджреЗрдВред рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдФрд░ рдирдП рд▓реЛрдЧреЛрдВ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдФрд░ рдпрд╣рд╛рдВ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ ...рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдореЗрдВ рдЖрдорддреМрд░ рдкрд░ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХрд╛ рдЕрд▓рдЧрд╛рд╡ рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдЬрдм рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо (рдЬреЛ рдЕрдХреНрд╕рд░ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╣реЛрддрд╛ рд╣реИ) рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИред рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдмрдирд╛рдиреЗ, рд╣рдЯрд╛рдиреЗ рдФрд░ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИ, рд╕рд╛рде рд╣реА рдкреНрд░рддреНрдпреЗрдХ рдкрд░реАрдХреНрд╖рдг рдХреЗ рдмрд╛рдж рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рд╕рдм рдмреЗрд╣рдж рдЕрдкреНрд░рд┐рдп рдФрд░ рд╕рдордп рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛ рдХрд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдПрдЪрдбреАрдбреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдХреЛрдИ рддреНрд╡рд░рд┐рдд рдмрд╛рдд рдирд╣реАрдВ рд╣реИ)ред рд╕рдорд╕реНрдпрд╛ рдХреЗ рдХрдо рд╕реЗ рдХрдо рджреЛ рд╕рдорд╛рдзрд╛рди рд╣реИрдВредрдкрд╣рд▓рд╛ рдЙрдкрд╛рдп рд╣реИ рдЕрд░реБрдмрд╛ рд░рддреНрдирд╕реАрдПрд▓рдЖрдИ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрдХрдбрд╝реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреНрд░рджрд╛рди рдХрд░рдирд╛ред рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓ рднрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдп, рд╕рдлрд╛рдИ рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреА рдЬрд╛рдВрдЪ рдХреЗ рд▓рд┐рдП, рд╕рд╛рде рд╣реА рдХреБрдЫ рддрд░реНрдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдиреНрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рд░рд┐рдЯрд░реНрди рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ, рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдХреА рд╕рд╛рдордЧреНрд░реА рдЖрджрд┐редрджреВрд╕рд░рд╛ рд╕рдорд╛рдзрд╛рди (рдЬреЛ рдореБрдЭреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдмрд╣реБрдд рдкрд╕рдВрдж рд╣реИ) рдирдХрд▓реА рд░рддреНрди рдХреЗ рд╕рд╛рде-рд╕рд╛рде рд╕рд╛рдорд╛рдиреНрдп рдЯреЗрд╕реНрдЯрдпреВрдирд┐рдЯ рдпрд╛ рдЖрд░рдПрд╕рдИрдкреАрдИ рдкрд░реАрдХреНрд╖рдг рд╣реИ ред рдпрд╣ рдордгрд┐ рдЙрди рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд░реИрдо рдореЗрдВ рдПрдХ рд╡рд░реНрдЪреБрдЕрд▓ рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдмрдирд╛рддреЗ рд╣реИрдВ - рдЕрдкрдиреА рд╕реНрд╡рдпрдВ рдХреА рдлрд╝реЛрд▓реНрдбрд░ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде, рдЕрдкрдиреА рдЦреБрдж рдХреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЙрд╕ рд╕рд╛рдордЧреНрд░реА рдХреЗ рд╕рд╛рде рдЬреЛ рдЖрдк рд╡рд╣рд╛рдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдХреЛрдИ рднреА рдирдХрд▓реА, рдкреВрд░реА рдХрдХреНрд╖рд╛ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ File
,Dir
(рдФрд░ рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд▓реЛрдЧ) рдереЛрдбрд╝реА рджреЗрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝реЗ рдирдХрд▓реА рдореЗрдВ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХреЛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдХрд╛рдо рдХреЗ рдмрд╛рдж рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХреЛрдИ рдирд┐рд╢рд╛рди рдирд╣реАрдВ рд╣реИрдВред рдмреНрдпреВрдЯреА!
рд╣рдо рдирдХрд▓реА рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдореЛрдб рдХреЛ рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╣реИрдВ, рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ рд╣реИрдВ (рд╣рдорд╛рд░реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Kernel.system
, рдЕрд░реНрдерд╛рддреН, рдбрд╛рдЙрдирд▓реЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╢реБрд░реВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ ) рд▓рд┐рдм / my_exec рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВредрдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЕрд░реВрдмрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдХреИрд╕реЗ? рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рд╕ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд╕рд╛рде рд╕реНрдЯрдбрдЖрдЙрдЯ рдФрд░ рд╕реНрдЯреЗрдбрд░ рдзрд╛рд░рд╛рдУрдВ рдХреЛ рдмрджрд▓реЗрдВ StringIO
ред рдлрд┐рд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд▓рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрди "рдзрд╛рд░рд╛рдУрдВ" рдХреА рд╕рд╛рдордЧреНрд░реА рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред рдЖрдк рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: out, err = MiniTest::Assertions.capture_io{ ... }
рдорд╛рдирдХ рдкрд░реАрдХреНрд╖рдг рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ, рдпрд╛ рдЖрдк рд╕реНрдЯреНрд░реАрдо рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЬрдЯрд┐рд▓ рдирд╣реАрдВ рд╣реИредрдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реВрдЪрдирд╛! рд░реВрдмреА рдореЗрдВ, рдЗрдирдкреБрдЯ / рдЖрдЙрдЯрдкреБрдЯ рд╕реНрдЯреНрд░реАрдо рдХреЗ рд▓рд┐рдП рджреЛ рдЪрд░ рд╣реИрдВ: рд╕реНрдерд┐рд░ STDOUT
рдФрд░ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░$stdout
ред рдЬрдм рдЖрдк рд╕реНрдЯреНрд░реАрдВрдЧрд┐рдпреЛ рдХреЗ рд╕рд╛рде рдереНрд░реЗрдбреНрд╕ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВрдЧреЗ, рддреЛ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд╕реНрдерд┐рд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рди рдХрд░реЗрдВред рдпрд╣ рдбрд░рд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рджреЗрдЦреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рджреЗрдЧрд╛ред рд╕рдВрднрд╡рддрдГ, рдкреНрд░рдХрд╛рд░ рдХреЗ рдЖрджреЗрд╢ puts
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рд╡реИрд╢реНрд╡рд┐рдХ рдЪрд░ рд╕реЗ рдмрдВрдзреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рдирд┐рд░рдВрддрд░ рдХреЗрд╡рд▓ рдЗрд╕реЗ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИредрдмреЗрд╢рдХ, рдпрд╣ рдЯрд┐рдкреНрдкрдгреА рдПрдХ рдзрд╛рд░рд╛ ( STDOUT.puts 'smth'
) рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЛрдВ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ , рдФрд░ рдпрд╣, рд╡реИрд╕реЗ, рдПрдХ рдмрд╣рд╛рдирд╛ рд╣реИ рдЬреЛ рдирд┐рд░рдВрддрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ STDOUT
, STDIN
рдФрд░ STDERR
редрдПрдХ рдФрд░ рдмрд╛рдд рд╣реИред рд╣рдо рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдкрд░реАрдХреНрд╖рдг рдХреЛрдб рдпрдерд╛рд╕рдВрднрд╡ рд╡рд╛рд╕реНрддрд╡рд┐рдХрддрд╛ рдХреЗ рдХрд░реАрдм рд╣реЛред рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЗрди рдЪрд░ рдХреЛ рдПрдХ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИARGV
ред рдФрд░ рд╣рдо рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рддрд░реНрдХ рдкрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рди рдХрд┐ рдПрдХ рд╕рд░рдгреА, рд╕рд╣реА? рд╣рдо рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ: рддрд░реНрдХреЛрдВ рдХреА рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдПрдХ рд╕рд░рдгреА рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдКрдкрд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╢реЗрд▓реНрд╡рд░реНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ рдФрд░ рд╡рд┐рдзрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рддрддреНрд╡реЛрдВ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рддреЛрдбрд╝ рджреЗрдВ String#shellsplit
редрдЕрдм рдЬрдм рд╣рдо рдЖрджреЗрд╢ рдкрдВрдХреНрддрд┐ рддрд░реНрдХ рдХреА рдПрдХ рд╕рд░рдгреА рд╣реИ, рд╣рдо, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ ARGV
рдЗрд╕ рд╕рд░рдгреА: ARGV.replace(new_array)
редрд▓реЗрдХрд┐рди рд╡рд┐рдзрд┐ рдореЗрдВ рдкрд╛рд░рд┐рдд рд╕рд░рдгреА рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛OptionParser#parse!
ред
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, ARGV
рдпрд╣ рд╣рдорд╛рд░реЗ рдирдП рд╕рд░рдгреА рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ OptionParser#parse!(new_array)
, рдФрд░ рдпрд╣ рдЗрд╕рд╕реЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░реЗрдЧрд╛, рдФрд░ рдЗрд╕рд╕реЗ рдирд╣реАрдВ ARGV
ред рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж рд╕реНрдерд┐рддрд┐ рд╕рдВрдмрдВрдзреА рддрд░реНрдХреЛрдВ рдХреЛ рдирдП рд╕рд░рдгреА рд╕реЗ рднреА рдЪреБрдирд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПредрдПрдХ рдЕрд▓рдЧ рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╣реА рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХреИрд╕реЗ рдХрд░реЗрдВред рд▓реЗрдЦрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдореИрдВ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рдЗрд╕ рдЕрдкрд╛рддреНрд░ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рддрд╛ рд╣реВрдВ рдФрд░ рдЬрд┐рдЬреНрдЮрд╛рд╕реБ рдкрд╛рдардХ рдХреЛ рдкреБрд╕реНрддрдХ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдФрд░ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЗрд╕рд╕реЗ рдЬреБрдбрд╝реА рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдЫреЛрдбрд╝рддрд╛ рд╣реВрдВредрдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рд╕рдиреНрди рдХрд░рддрд╛ рд╣реИ
рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк рдореЗрдВ рдкреВрд░реНрд╡рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВредрдЯреЗрдмрд▓
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╕рдмрд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рдмреНрд▓реЙрдЧрд░реНрд╕ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреА рд╣реИ: рдирд╛рдо, рдкрджреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛, рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ, рдорд┐рддреНрд░ред рд╕реНрдкрд╖реНрдЯ рдЖрдЙрдЯрдкреБрдЯ рд╕реНрд╡рд░реВрдк рднреАрдЦ рдорд╛рдБрдЧрддрд╛ рд╣реИ: рдПрдХ рдкреНрд▓реЗрдЯ рдЦреАрдВрдЪреЗрдВред рд╕рдорд╛рдзрд╛рди рдмрд╕ рдЙрддрдирд╛ рд╣реА рд╕реАрдзрд╛ рд╣реИ - рдЯрд░реНрдорд┐рдирд▓-рдЯреЗрдмрд▓ рд░рддреНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ редрд░рдВрдЧ
рдпрджрд┐ рдЖрдк рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рддреБрд▓рдирд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рдПрдХ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреА рд╕рд╛рд╡рдзрд╛рдиреА рд╕реЗ рдорд┐рд▓реЗрдВрдЧреЗред рдЖрдк рдЬреЛрдбрд╝реЗ рдЧрдП рдФрд░ рд╣рдЯрд╛рдП рдЧрдП рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд▓рд╕ рдФрд░ рдорд╛рдЗрдирд╕ рд╕рдВрдХреЗрддреЛрдВ рд╡рд╛рд▓реА рд▓рд╛рдЗрдиреЗрдВ рджреЗрдЦреЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд░рдВрдЧреЛрдВ рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рд▓рд╛рд▓ / рд╣рд░рд╛ред рдХрдВрд╕реЛрд▓ рдореЗрдВ рд░рдВрдЧреЛрдВ рдХреЛ рд░рдВрдЧрдирд╛ рдЙрди рд╕реНрдерд╛рдиреЛрдВ рдкрд░ рд╡рд┐рд╢реЗрд╖ рдПрд╕реНрдХреЗрдк рджреГрд╢реНрдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд░рдВрдЧ рдмрджрд▓рддрд╛ рд╣реИред рджреЛ рд▓реЛрдХрдкреНрд░рд┐рдп рд╕рдорд╛рдзрд╛рди - рдЗрдВрджреНрд░рдзрдиреБрд╖ рдХреЗ рд░рддреНрди рдФрд░ рд╢рдмреНрдж-рд╕рд┐рдиреНрджреВрд░ред рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдмрд╣реБрдд рд╕реАрдзрд╛ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрдирдХреЗ рдореИрдиреБрдЕрд▓ рдкрдврд╝реЗрдВред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ - рдЕрдлрд╕реЛрд╕ - рд╕рднреА рдЯрд░реНрдорд┐рдирд▓ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд░рдВрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд░рдВрдЧреАрди рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдмрдЬрд╛рдп рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рд╡рд┐рдВрдбреЛрдЬ рдЯрд░реНрдорд┐рдирд▓ рдЗрди рд░рдВрдЧреЛрдВ рдХреЛ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рджреЗрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рджреВрд╕рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рдЕрдкрдиреЗ рдХреЛрдб рдореЗрдВ рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдЯрд░реНрдорд┐рдирд▓реЛрдВ рдореЗрдВ рд░рддреНрдиреЛрдВ рдХреЗ рдХрд╛рдо рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВредрдбреЗрд╡рд┐рдб рдХреЛрдкрд▓реИрдВрдб рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд▓рдЧрднрдЧ 10% рд▓реЛрдЧ рдХрд▓рд░ рдмреНрд▓рд╛рдЗрдВрдб рд╣реИрдВред рдпрд╣ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ рдХрд┐ рд░рдВрдЧ рдХреЗрд╡рд▓ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдиреЗрд╡рд┐рдЧреЗрдЯ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдПрдХрд▓ рдбреЗрдЯрд╛ рдЪреИрдирд▓ рдХреЗ рдХрд╛рд░реНрдп рдкрд░ рдирд╣реАрдВ рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рдЖрдк рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдореЗрдВ рдкреНрд▓рд╕рд╕ рдФрд░ рдорд┐рдирд╕ рдХреЛ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рд▓реЛрдЧреЛрдВ рдХрд╛ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣рд┐рд╕реНрд╕рд╛ рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рдЦреЛ рджреЗрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рд░рдВрдЧреАрди рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд░рдВрдЧ рдФрд░ рдЕрдиреНрдп рдбреЗрдЯрд╛ рджреЛрдиреЛрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдХреЗ рд╣реЛрдиреЗ рдкрд░ рд░рдВрдЧ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВредрдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реВрдЪрдирд╛! рдЬрдм рдЖрдкрдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдорд╢реАрди-рдкрдардиреАрдп рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдкрд╛рда рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреА рд╣реИ, рддреЛ рдпрд╣ рд╕рд▓рд╛рд╣ рджреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рд╕реНрд╡рд░реВрдкрдг рд░рдВрдЧреЛрдВ рдХреЛ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПред рдЕрдиреНрдпрдерд╛, рдЗрдирдкреБрдЯ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдкрд╛рд░реНрдЯреА рдХреЗ рдкрд╛рд╕ рд▓рд╛рдЗрди рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рдкрд╛рддреНрд░реЛрдВ рд╕реЗ "рдЕрдкрдЪ" рдЕрд░реНрдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдореМрдХрд╛ рд╣реИредрдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдВрдЪрд╛рд░
рдПрдХ рдЕрдиреНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд░реАрдбрд▓рд╛рдЗрди, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдмреЛрд▓ рджрд┐рдпрд╛ рдерд╛ред рдЗрд╕рд▓рд┐рдП, рдЖрдкрдХреА рд╕реЗрд╡рд╛ рдореЗрдВ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рдСрдЯреЛ-рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рдЗрддрд┐рд╣рд╛рд╕ рдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ред рд░реВрдмреАрдЧреИрдо рдФрд░ рдереЛрд░ рдореЗрдВ рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрд╛рддрдЪреАрдд рдФрд░ рдХрд╣рдиреЗ рдФрд░ рдкреВрдЫрдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╡рд┐рд╢реЗрд╖ рдореЙрдбреНрдпреВрд▓ рд╣реИрдВредрдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╣реИрдВ? рдЖрдИрдЖрд░рдмреА рдФрд░ рд░реЗрд▓ рдХрдВрд╕реЛрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЛред рдкреБрд╕реНрддрдХ рдХреЗ рд▓реЗрдЦрдХ рдиреЗ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛: рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдкрдХреЛ рдПрдХ рдмрдбрд╝реА JSON рд╡рд╕реНрддреБ рдорд┐рд▓рддреА рд╣реИ рдФрд░ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕рдореЗрдВ рдХреНрдпрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдПрдХ рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ JSON рджрд░реНрд╢рдХ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЛ рд╕реАрдбреА, ls рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдкрджрд╛рдиреБрдХреНрд░рдо рдХреЛ рдШреВрдордиреЗ рдФрд░ rm рдФрд░ mknode рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде рдЗрд╕реЗ рдмрджрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЖрдкрдХреА рдХрд▓реНрдкрдирд╛ рдХреЛ рдЬрдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдк рдЗрдВрдЯрд░реИрдХреНрдЯрд┐рд╡ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реМ рд╕реЗ рдЕрдзрд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдЖ рд╕рдХрддреЗ рд╣реИрдВредрдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдирд╕реЛрдВ рдХреЛ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦреЗрдВ
рдПрдХ рдореЛрдмрд╛рдЗрд▓ рдХрдиреЗрдХреНрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдмрдбрд╝реА рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕реНрдерд╛рди рдкрд░ рд╕реНрд╡рдпрдВ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдФрд░ рдпрд╣ рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рдХрд┐ рдХрд┐рддрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЬрд╛ рдЪреБрдХреЗ рд╣реИрдВред рдкрд╣рд▓реЗ рджрд╕ рдорд┐рдирдЯ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рдЬрд╛рдирдХрд░ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдмрдбрд╝реА рд╣реИред рдФрд░ рдлрд┐рд░ рдЙрд╕рдХреА рдХреЛрд╣рдиреА рдХреЛ рдХрд╛рдЯрдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ: рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рдХреЛрдИ рд╕рдВрдмрдВрдз рдирд╣реАрдВ рд╣реИ? рдпрд╛ рд╢рд╛рдпрдж рдХрд╛рд░реНрдпрдХреНрд░рдо рдЬрдорд╛ рджреЗрддрд╛ рд╣реИ? рдпрд╛ рд╢рд╛рдпрдж рдлрд╝рд╛рдЗрд▓ рдЗрддрдиреА рдмрдбрд╝реА рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдорд╣реАрдиреЗ рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдХ рдмрд╛рд░ рдФрд░ рд╕рднреА рдХреЗ рд▓рд┐рдП рдбрд┐рд╕реНрдХрдиреЗрдХреНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛? рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд▓ рд╕рдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕реНрдЯреЗрдЯ рдмрд╛рд░ рдХреЛ рд╕реНрдЯреЛрдбрд░ рдпрд╛ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреЛрдЯ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрд╛рдПрдЧрд╛ (рдФрд░ рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ рдлрд╝рд╛рдЗрд▓ рдСрдкрд░реЗрд╢рди рдмрдлрд╝рд░ рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЗрд╕реЗ рд╕рдордп-рд╕рдордп рдкрд░ рдХрд░реЗрдВ flush
, рдЕрдиреНрдпрдерд╛ рдЖрдкрдХреЗ рдкрд╛рд╕ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо рджреЗрдЦрдиреЗ рдХрд╛ рдореМрдХрд╛ рд╣реИ рдХрд╛рд░реНрдпрдХреНрд░рдо рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рд╣реА)редрдирдИ рд▓рд╛рдЗрди рдкрд░ рд▓реЛрдб рдХреЗ рд╣рд░ рдкреНрд░рддрд┐рд╢рдд рдХреЛ рдЧрд┐рдирдирд╛ рд╣рд╛рд╕реНрдпрд╛рд╕реНрдкрдж рд╣реЛрдЧрд╛! рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЖрдЗрдП рдкреНрд░рддреНрдпреЗрдХ рдмрд╛рд░ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рдмрджрд▓рддреЗ рд╣реБрдП, рдПрдХ рдкрдВрдХреНрддрд┐ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦреЗрдВред рдпрд╣ рд╣рдореЗрдВ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рддреАрдХ \r
- рдЧрд╛рдбрд╝реА рд╡рд╛рдкрд╕реА рдХреЗ рд╕рд╛рде рдорджрдж рдХрд░реЗрдЧрд╛ ред рдЬрдм рдпрд╣ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ \r
, рддреЛ рдЯрд░реНрдорд┐рдирд▓ рдХрд░реНрд╕рд░ рд▓рд╛рдЗрди рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЪрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреБрд░рд╛рдиреЗ рд▓реЛрдЧреЛрдВ рдкрд░ рд╡рд░реНрдгреЛрдВ рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрддрд╛ рд╣реИ (рдзреНрдпрд╛рди рд╕реЗ, рдкреБрд░рд╛рдиреА рд▓рд╛рдЗрди рдХреА "рдкреВрдВрдЫ" рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ)ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ, рд╡рд┐рдзрд┐ puts
рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХрд░реНрд╕рд░ рдХреЛ рдПрдХ рдирдИ рд░реЗрдЦрд╛ рдкрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИред рд╣рдореЗрдВ рдПрдХ рд╡рд┐рдзрд┐ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ print
, рдФрд░ рдпрд╣рд╛рдБ рдЗрд╕рдХреЗ рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ: (0..100).each do |i| $stderr.print("\r#{i}% done") sleep(0.1) end
рд╕рдЪ рд╣реИ, рдпрд╣ рдЖрдкрдХреЛ рдереЛрдбрд╝рд╛ рд╕рд╛рд╡рдзрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ: рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдВрдбреЛ рдореЗрдВ, stderr рдФрд░ stdout рд╕реНрдЯреНрд░реАрдо рдорд┐рд╢реНрд░рд┐рдд рд╣реЛрддреА рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдЧрд▓рдд рдбреЗрдЯрд╛ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВредрдЕрдВрдд рдореЗрдВ, рдореИрдВ рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд▓реЗрдХрд┐рди рдХрдИ рд▓реЛрдХрдкреНрд░рд┐рдп рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдпрджрд┐ рдЖрдкрдиреЗ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рд░реВрдмреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░реЗрдХ рдЯреАрдо рд╕реЗ рдорд┐рд▓реЗ , рдФрд░ рд╢рд╛рдпрдж рдереЛрд░ рдХрдорд╛рдВрдб ред рдпреЗ рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИрдВ рдЬреЛ рд╕реНрд╡рдЪрд╛рд▓рди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдбреАрдПрд╕рдПрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВредрд░реЗрдХ рдорд╛рдгрд┐рдХ рдХреЗ рд▓рд┐рдП рдореЗрдХ рдХрд╛ рдПрдХ рдмреЗрд╣рддрд░ рдПрдирд╛рд▓реЙрдЧ рд╣реИред рд╡рд╣ рд╡рд░реНрддрдорд╛рди рдпрд╛ рдореВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЗ рд░рд╛рдХрдлрд╛рдЗрд▓ рдореЗрдВ рджрд┐рдЦрддрд╛ рд╣реИ рдФрд░ рд╡рд╣рд╛рдВ рдХрд╛рд░реНрдп рдХреЗ рд╡рд┐рд╡рд░рдг рдХреА рддрд▓рд╛рд╢ рдХрд░рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрдВрдбрд▓рд░ рдкреНрд░рддреНрдпреЗрдХ рдирдП рдордгрд┐ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рд░реЗрдХрдлрд╛рдЗрд▓ рдмрдирд╛рддрд╛ рд╣реИ: рдирд┐рд░реНрдорд╛рдг, рд╕реНрдерд╛рдкрд┐рдд, рдЬрд╛рд░реА рдХрд░рдирд╛, рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рдЖрджреЗрд╢ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд░рддреНрдиреЛрдВ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд░реЗрдХ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдмреАрдЪ рдирд┐рд░реНрднрд░рддрд╛ рдХреА рдкреНрд░рдгрд╛рд▓реА рд╣реИ - рдЗрд╕рд▓рд┐рдП рд░реЗрдХ рд░рд┐рд▓реАрдЬрд╝ рдкрд╣рд▓реЗ рдмрд┐рд▓реНрдб рдХрд╛рд░реНрдп рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдЧрд╛ рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рд░рд┐рд▓реАрдЬрд╝ рд╣реЛрдЧрд╛ред рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рд░реЗрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реНрдХреЛрдВ рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛ рдпрд╛ рддреЛ рдЕрд╕рдВрднрд╡ рд╣реИ рдпрд╛ рдЕрд╕рдВрд╕рджреАрдп рд╣реИред рд╣рд╛рдм, рд░рд╛рд╕реНрддреЗ рдореЗрдВ, рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд░реЗрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рдкреЛрд╕реНрдЯ рдерд╛ редрдереЛрд░ рдПрдХ рд░реЗрдХ-рдЬреИрд╕реА рдкреНрд░рдгрд╛рд▓реА рд╣реИред рдпрд╣, рдЕрдиреНрдп рдмрд╛рддреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ "рд╕реЗрдЯ" рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЕрдиреНрдп рд╕реНрд░реЛрддреЛрдВ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╡рд░рдг рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рд╣реИ редрдореИрдВ рдЗрди рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддрд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЖрдкрдХреЗ рдЬреАрд╡рди рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдЖрдкрдХреЛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдФрд░ рддрд░реНрдХреЛрдВ рдХреЗ рдХрд┐рд╕реА рднреА рдЬрдЯрд┐рд▓ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╕рд░рд▓ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЗрди рджреЛ рдкреНрд░рд╕рд┐рджреНрдз рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╡рд░реНрдгрд┐рдд рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд░реВрдмреА рдСрди рд░реЗрд▓реНрд╕ рдореЗрдВ рдЗрди рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдЬрдирд░реЗрдЯрд░ рдЪрд▓рд╛рдирд╛, рдорд╛рдЗрдЧреНрд░реЗрд╢рди, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╢ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдирд╛ рдЖрджрд┐редрдЬреНрдпрд╛рджрд╛рддрд░ рдХрд╣рд╛рдиреА рдореИрдВ рд░реВрдмреА рдорд╛рдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╕реЗ OptionParser рд╡рд┐рдХрд▓реНрдк рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ред рдпрд╣ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреБрдЫ рдЗрд╕реЗ рднрд╛рд░реА рдорд╛рдирддреЗ рд╣реИрдВ рдФрд░ рдЖрд╡рд░рдг рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдХреБрдЫ рд░реИрдкрд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдХреБрдЫ рд╡рд┐рдХрд▓реНрдк рд╡реИрд╢реНрд╡рд┐рдХ рд╕реНрддрд░ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрд╢ рдЖрджрд┐ рдмрдирд╛рдиреЗ рдкрд░ред рдпрджрд┐ рдпрд╣ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ OptionParser рдЖрдкрдХреЛ рдзреАрдорд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЖрдк рддреИрдпрд╛рд░ рдХрд┐рдП рдЧрдП рд░реИрдкрд░ рдореЗрдВ рд╕реЗ рдПрдХ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ (рд╕реВрдЪреА рдкреБрд╕реНрддрдХ рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкрд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИ - рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рджреЗрдЦреЗрдВ) рдпрд╛ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдмрдирд╛ рд▓реЗрдВредOptionParser рдореЗрдВ рдЕрдиреНрдп рдХрдорд┐рдпрд╛рдВ рднреА рд╣реИрдВ: рдпрд╣ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ рдореЗрдВ рд╡реИрд╢реНрд╡рд┐рдХ рдФрд░ рд╕реНрдерд╛рдиреАрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рд╣реИ (рд╣рдордиреЗ рдЗрд╕ рдЕрд▓рдЧрд╛рд╡ рдХреЛ рдЦреБрдж рдХрд┐рдпрд╛ рдерд╛; рдЖрдо рддреМрд░ рдкрд░ рдмреЛрд▓рдирд╛, рдпрд╣ рдХрд╣реАрдВ рд╕реЗ рднреА рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреБрдЫ рдмрдбрд╝реА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЗ рд╕рдлрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛ рдЫреЛрдбрд╝рдХрд░)ред OptionParser рдХреА рдПрдХ рдФрд░ рд╡рд┐рд╢реЗрд╖рддрд╛ (рдпрд╣ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдФрд░ рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмрдЧ рд╣реИ) рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рддрд░реНрдХреЛрдВ рдореЗрдВ рдирдХрд╛рд░рд╛рддреНрдордХ рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЛ рд╕рдордЭрддрд╛ рд╣реИред рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдЬрд┐рддрдиреА рдЬрд▓реНрджреА рдпрд╛ рдмрд╛рдж рдореЗрдВ рдпрд╣ рдмрдЧ рдареАрдХ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рддрд░реНрдХ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрд░реАрдХреНрд╖рдг рдХрд░реЗрдВредрд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдкреИрдХреЗрдЬ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдкреБрд╕реНрддрдХ рдХреЗ рд▓реЗрдЦрдХ, рдбреЗрд╡рд┐рдб рдХреЛрдкрд▓реИрдВрдб рдиреЗ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рдЬреАрдПрд▓рдЖрдИ рд░рддреНрди рдмрдирд╛рдпрд╛ ред рдпрд╣ рд╡реИрд╢реНрд╡рд┐рдХ рд╡рд┐рдХрд▓реНрдкреЛрдВ, рдХрдорд╛рдВрдб рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрдорд╛рдВрдб рдХреЛ рд╣реА рдкрд╣рдЪрд╛рдирддрд╛ рд╣реИред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдЬреАрд╡рдВрдд рд╣реИ рдФрд░ рд╕рдордп-рд╕рдордп рдкрд░ рдЕрджреНрдпрддрди рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИредрдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореИрдВ рдорджрдж рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдмрд▓реНрдХрд┐ рдПрдХ рдмрд▓реНрдХрд┐ рдХрдЪреНрдЪреЗ, рд▓реЗрдХрд┐рди рдмреЗрд╣рдж рджрд┐рд▓рдЪрд╕реНрдк рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ - рдбреЙрдХреЙрдкреНрдЯ ред рдпрд╣ рдПрдХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рд╣реИ рдЬреЛ рдкреНрд░реЙрдореНрдкреНрдЯ рд▓рд╛рдЗрди рдкрд░ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдкрд╛рд░реНрд╕рд░ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ OptionParser рдФрд░ рднрд╛рдИ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдЬрдЧрд░ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдХрд╛рдлреА рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЪрд┐рддреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЖрдк рдЗрд╕рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдореБрджрд╛рдп рдХреЗ рдЙрдЪрд┐рдд рдзреНрдпрд╛рди рдХреЗ рд╕рд╛рде, рдпрд╣ рдПрдХ рдЕрддреНрдпрдВрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдореЗрдВ рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИредPS рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЬреЛ рдореИрдВрдиреЗ рд▓реЗрдЦ рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдерд╛, рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИрдХ, рдпрд╣ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЪрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ ARGF
ред рдпрджрд┐ рдЖрдкрдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рднреА рддрд░реНрдХ рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рд╣реИрдВ, рддреЛ рдпрд╣ ARGF
рд╕рднреА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕рд╛рдордЧреНрд░реА рдХрд╛ рдПрдХ рд╕рдВрдпреЛрдЬрди рд╣реИред