Fish-shell: рд╡рд┐рд╢реЗрд╖-рдЖрд╡рд░рдг рдкрде/рдореИрдирдкрд╛рде/рд╕реАрдбреАрдкреАрдПрдЯреАрдПрдЪ рдЕрдЬреАрдм рд╣реИ; рд╣рдореЗрдВ рдЕрдзрд┐рдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ zsh "рдмрдВрдзреЗ" рдЪрд░

рдХреЛ рдирд┐рд░реНрдорд┐рдд 11 рджрд┐рд╕ре░ 2012  ┬╖  52рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: fish-shell/fish-shell

expand.h рдореЗрдВ:

/** Character for separating two array elements. We use 30, i.e. the ascii record separator since that seems logical. */
#define ARRAY_SEP 0x1e

/** String containing the character for separating two array elements */
#define ARRAY_SEP_STR L"\x1e"

рдЗрд╕ рдореЗрдВ рдпрд╣ рдкрд░рд┐рдгрд╛рдо:

xiaq<strong i="10">@blackie</strong> ~> set a (printf 'a\x1eb')
xiaq<strong i="11">@blackie</strong> ~> count $a
2
xiaq<strong i="12">@blackie</strong> ~> set a (printf 'a\x1fb')
xiaq<strong i="13">@blackie</strong> ~> count $a
1

рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ char \x1e рдХреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддрддреНрд╡ рд╕реАрдорд╛рдВрдХрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред

рд╕рднреА 52 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдХреНрдпрд╛ рдпрд╣ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ \x1e рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ? рдпрд╛ рдЖрдк рд╡рд╛рд╕реНрддреБ рд╕реБрдзрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ?

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд░рдгреА рд╡рд┐рднрд╛рдЬрдХ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЙрди рдЬрдЧрд╣реЛрдВ рдкрд░ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рддрд╛рд░ рд▓реЗрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЪрд░ рдпрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ред

2012-12-12 2:09я╝М"Ridiculousfish" [email protected]хЖЩщБУя╝Ъ

рдХреНрдпрд╛ рдпрд╣ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ \x1e рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ? рдпрд╛ рдЖрдк рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ
рд╡рд╛рд╕реНрддреБ рд╕реБрдзрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ?

рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдореЗрд░реЗ рдорди рдореЗрдВ рджреЛрдиреЛрдВ рдЪрд┐рдВрддрд╛рдПрдВ рд╣реИрдВред рдкреВрд░реНрд╡ рдХреЗ рд▓рд┐рдП, рдмрд╕ a . рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ
рдПрдореНрдмреЗрдбреЗрдб \x1e рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдирд╛рдоред POSIX рдХреБрдЫ рднреА рдХрд╣рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди \0 рдХреА рдЕрдиреБрдорддрд┐ рд╣реИ
рдлрд╝рд╛рдЗрд▓ рдирд╛рдо, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реИред \0 рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд░рдгреА рд╕реАрдорд╛рдВрдХрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ
рдереЛрдбрд╝рд╛ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк, рд▓реЗрдХрд┐рди рдпрд╣ рджреВрд╕рд░реА рдЪрд┐рдВрддрд╛ рдХреА рдУрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ - рдпрд╣
рдирд╛рдЬреБрдХ рдФрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЧрд▓рддред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд░рдгреА рд╡рд┐рднрд╛рдЬрдХ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдЬреЛ рдХреЗрд╡рд▓ рддрд╛рд░ рд▓реЗрддреЗ рд╣реИрдВ, рдЬреИрд╕реЗ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЪрд░ рдпрд╛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ред

рдпрджрд┐ рдмрдиреЗ рд░рд╣рдиреЗ рдХрд╛ рдЕрд░реНрде рд╣реИ "рдХреНрд░рдордмрджреНрдз", рдирд╣реАрдВред Arrays рдХреЛ рд╣рдореЗрд╢рд╛ рд╕реНрдЯреЛрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
\x1e-рд╕реАрдорд╛рдВрдХрд┐рдд рдкреНрд░рдкрддреНрд░ред рдирд┐рд░реНрдпрд╛рддрд┐рдд рдкрд░реНрдпрд╛рд╡рд░рдг рд╕рд░рдгрд┐рдпрд╛рдБ ":" рд╕реЗ рдЬреБрдбрд╝рддреА рд╣реИрдВред рд╡реЗ
рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЪрд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдЬрд┐рд╕реЗ рдЖрдИрдПрдордПрдЪрдУ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдЙрдЪрд┐рдд рднрд╛рдЧрдиреЗ рдХреЗ рд╕рд╛рдеред

-
рдЗрд╕ рдИрдореЗрд▓ рдХрд╛ рд╕реАрдзреЗ рдЙрддреНрддрд░ рджреЗрдВ рдпрд╛ рдЗрд╕реЗ GitHub рдкрд░ рджреЗрдЦреЗрдВред

рдирд┐рдЬреА рдЙрдкрдпреЛрдЧ рдХреНрд╖реЗрддреНрд░ рдЪрд░рд┐рддреНрд░ рдХреЛ рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ? рдордЫрд▓реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИред

@JanKanis рдпрд╣ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реИ; рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдореЗрдВ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕рдВрднрд╡ рд╣реИ (рдЧреИрд░-utf8, рджреЗрд╢реА рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛) рдФрд░ рдЕрдиреНрдп рддрд╛рд░реЛрдВ рдкрд░ред

рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рджреВрд╕рд░реЛрдВ рдХреЗ рдмреАрдЪ, "\0" рджреВрд╕рд░реЛрдВ рдХреЗ рдмреАрдЪ рдПрдХ _slightly_ рдмреЗрд╣рддрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдпреВрдирд┐рдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдореЗрдВ рдПрдХрдорд╛рддреНрд░ рдЪрд░рд┐рддреНрд░ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рдореЗрд░реЗ рд▓рд┐рдП рдЦрд░рд╛рдм рдЧрдВрдз рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рд╕рд╛рд░реЗ рдмрдВрдЯрд╡рд╛рд░реЗ рдФрд░ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдореИрдВ рдмреЗрд╣рддрд░ рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдФрд░ рдХрдо рдХреЛрдб рджреЛрдиреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╕рдЪреНрдЪреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрд░рддрд╛ рд╣реВрдВред

рдордЫрд▓реА рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдирд┐рдЬреА рдЙрдкрдпреЛрдЧ рдХреЗ рдкрд╛рддреНрд░реЛрдВ рдФрд░ рдЕрдорд╛рдиреНрдп рдмрд╛рдЗрдЯреНрд╕ рдХреЛ рд╕рдВрднрд╛рд▓рддреА рд╣реИ рдЬрдм рдпрд╣ рдмрд╛рд╣рд░реА рддрд╛рд░реЛрдВ рдХреЛ wchars рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд░рддреА рд╣реИред рдЗрди рд╡рд┐рд╢реЗрд╖ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдмрд╛рдЗрдЯ рджреНрд╡рд╛рд░рд╛ рдмрд╛рдЗрдЯ рдХреЛ рдирд┐рдЬреА рдЙрдкрдпреЛрдЧ рд╡рд░реНрдгреЛрдВ рдХреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯ рдореЗрдВ рдПрдиреНрдХреЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдордЫрд▓реА рднреА рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рдлрд┐рд░ рд╕реЗ рдбреАрдХреЛрдб рдХрд░рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдПрдХ рдФрд░ рдирд┐рдЬреА рдЙрдкрдпреЛрдЧ рдЪрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдореИрдВ рдорд╛рдирддрд╛ рд╣реВрдБ рдХрд┐ рд╕рдЪреНрдЪреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИред рдордЫрд▓реА рдФрд░ рдлрд┐рд╢рдб рдХреЗ рдмреАрдЪ рд╕рдВрдЪрд╛рд░ рдореЗрдВ рдПрдХ рдЬрдЯрд┐рд▓рддрд╛ utf8 рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реЙрдХреЗрдЯ рдкрд░ рд╣реЛрддреА рд╣реИ, рдФрд░ рд╡рд╣рд╛рдВ рдордЫрд▓реА рд╕рд░рдгреА рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрд╕реНрдХреЗрдк рдЕрдиреБрдХреНрд░рдо "\ x1e" (0x1e рдмрд╛рдЗрдЯ рдХреЗ рдмрдЬрд╛рдП) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ (рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ)ред рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдЬреА рдЕрдкреНрд░рдпреБрдХреНрдд рдПрд╕реНрдХреЗрдк рдЕрдиреБрдХреНрд░рдоред

рдореИрдВ xiaq рдХреА рдЪрд┐рдВрддрд╛рдУрдВ рдХреЛ рд╕рд╛рдЭрд╛ рдХрд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди (рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП) рдореБрдЭреЗ \n рд░рд╛рд╕реНрддреЗ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╡рд┐рднрд╛рдЬрди рдЕрдзрд┐рдХ рдЖрдХреНрд░рд╛рдордХ рд▓рдЧрддрд╛ рд╣реИ:

a<strong i="6">@raspeball</strong> ~> count (printf 'a\x1eb')
1
a<strong i="7">@raspeball</strong> ~> count (printf 'a\nb')
2

рд╕рдмрдкреНрд░реЛрд╕реЗрд╕ рдЖрдЙрдЯрдкреБрдЯ рдХреА (рдиреНрдпреВрд▓рд╛рдЗрди рд╕реАрдорд╛рдВрдХрд┐рдд) рд╕рд░рдгреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП!

рд▓реЗрдХрд┐рди рдЗрд╕рдХрд╛ рд╢рд╛рдпрдж рд╕рд░рдгрд┐рдпреЛрдВ рдХреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рднрдВрдбрд╛рд░рдг рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ ...

@xiaq : \0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдореЗрдВ рдХреНрдпрд╛ рдЧрд▓рдд рд╣реИ? xargs рдЗрд╕реЗ рдЕрдкрдиреЗ "рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп" рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред

рдЖрдк рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдореЗрдВ \0 рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдмрдЪреНрдЪреЗ рдХреЗ рдЧреЛрд▓реЗ рдореЗрдВ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛ рдХрдард┐рди рдмрдирд╛ рджреЗрдЧрд╛ред

рдореИрдВ zsh рд╕реЗ рдорд╛рдЗрдЧреНрд░реЗрдЯ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬрд╣рд╛рдВ рдореИрдВ рдЗрд╕ рдХреНрд░рдо рдХрд╛ рдЙрдкрдпреЛрдЧ $LESS env var рдХреЛ рдЗрд╕рдХреЗ "рдмрдВрдзреЗ" рдЪрд░ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдХрд░ рдПрдХ рд╕рдордЭрджрд╛рд░ рдлреИрд╢рди рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реВрдВ:

typeset -xT LESS less ' '
less=(
    --HILITE-UNREAD
    --LONG-PROMPT
)

рдореИрдВрдиреЗ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдкреВрд░реА рд╕реВрдЪреА рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИред Zsh рдореЗрдВ рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк $LESS env var $less рд╕рд░рдгреА рдореЗрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдПрдХ рд╕реНрдерд╛рди рд╕реЗ рдЕрд▓рдЧ рд╕реВрдЪреА рд╣реИред рдордЫрд▓реА рдореЗрдВ рд╕рдорддреБрд▓реНрдп рдкрд░рд┐рдгрд╛рдо рддрддреНрд╡реЛрдВ рдХреЛ рд░рд┐рдХреЙрд░реНрдб рд╡рд┐рднрд╛рдЬрдХ (\x1e) рд╡рд░реНрдг рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╕реЗ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдореЙрдбреНрдпреВрд▓реЛ рд╡рд┐рд╢реЗрд╖ рд╕рд░рдгреА рдЬреИрд╕реЗ рдкрд╛рде)ред рдореБрдЭреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдХрд░рдирд╛ рд╣реИ рдЬреЛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рдиреЛрдВ рдХреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдЗрдВрдЯрд░рдкреЛрд▓реЗрдЯ рдХрд░рддрд╛ рд╣реИ:

set -x LESS --HILITE-UNREAD \
    --LONG-PROMPT
set LESS "$LESS"

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

рдкреБрдирд╢реНрдЪ, рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдореЗрдВ рдХрд╣реАрдВ рднреА рд░рд┐рдХреЙрд░реНрдб рд╡рд┐рднрд╛рдЬрдХ рд╡рд░реНрдг (\x1e) рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рд╣реИред рдЬреЛ рдПрдХ рдФрд░ рд╕рдорд╕реНрдпрд╛ рд╣реИред

@ krader1961 рдЗрд╕реЗ рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╕реВрдЪреА-рдЬреИрд╕реЗ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорд╛рдирдХ рдпреВрдирд┐рдХреНрд╕ рд╕рдореНрдореЗрд▓рди рдирд╣реАрдВ рд╣реИ - рдХреБрдЫ рдХреЛрд▓рди рд╕реАрдорд╛рдВрдХрд┐рдд рд╣реИрдВ, рдЕрдиреНрдп рдЕрдВрддрд░рд┐рдХреНрд╖ рд╕реАрдорд┐рдд рд╣реИрдВред рдордЫрд▓реА \x1e рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рд░рдгреА рдХреЛ рдЕрд▓рдЧ рдХрд░ рд╕рдХреЗред

рдХреНрдпрд╛ рдЖрдк рдХреГрдкрдпрд╛ рд╣рдореЗрдВ рдЧрд▓рдд рджрд╕реНрддрд╛рд╡реЗрдЬ рдкрд░ рдЗрдВрдЧрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ?

рдЖрдкрдХреЛ рдХреНрдпрд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдХреЛрд▓рди, рд╕реНрдкреЗрд╕, рдиреНрдпреВрд▓рд╛рдЗрди, рдХреБрдЫ рдФрд░? рдХреНрдпрд╛ рдордЫрд▓реА рдХреЛ рдЗрд╕ рдЪрд░рд┐рддреНрд░ рдкрд░ рднреА рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рдЯреЛрдХрди рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП?

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдВрддрд░рд┐рдХреНрд╖-рд╕реАрдорд╛рдВрдХрд┐рдд рддрд░реНрдХреЛрдВ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдХрдо рд╣реИред рд╕рдВрднрд╡рддрдГ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдЙрдкрд╛рдп рд╣реИ set -x LESS '--HILITE-UNREAD --LONG-PROMPT' , рдЖрджрд┐ред

рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЬреИрд╕реА рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдорд╛рдирдХ рдирд╣реАрдВ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдкрд░рд┐рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рд╡реЗ рдПрдХ рдХреБрдВрдЬреА рдФрд░ рдорд╛рди рд╕реЗ рдмрдиреЗ рдмрд╛рдЗрдЯреНрд╕ рдХрд╛ рдПрдХ рдордирдорд╛рдирд╛ рдЕрдиреБрдХреНрд░рдо рд╣реИрдВ рдЬреЛ рдПрдХ рд╕рдорд╛рди рдЪрд┐рд╣реНрди рд╕реЗ рдЕрд▓рдЧ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдПрдХ рдЕрд╢рдХреНрдд рдмрд╛рдЗрдЯ рджреНрд╡рд╛рд░рд╛ рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд┐рдВрдЯ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдкрд╛рддреНрд░ рд╣реЛрдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЙрдЪреНрдЪ рд╕реНрддрд░ рдХреЗ рдЕрдореВрд░реНрддрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХрдорд╛рддреНрд░ рд╡реНрдпрд╛рдкрдХ рд░реВрдк рд╕реЗ рд╕реНрд╡реАрдХреГрдд рд╕рдореНрдореЗрд▓рди PATH env var рдХреЗ рд▓рд┐рдП execlp() рдлрд╝рдВрдХреНрд╢рди рджреНрд╡рд╛рд░рд╛ рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рддреНрд░реБрдЯрд┐рдкреВрд░реНрдг рд╣реИ рдЬрд╣рд╛рдБ рддрдХ рдпрд╣ \x1E, \036, 30, рдпрд╛ "рд░рд┐рдХреЙрд░реНрдб рд╡рд┐рднрд╛рдЬрдХ" рд╡рд░реНрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдЙрд▓реНрд▓реЗрдЦ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдЬрдм рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ var рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреЗ рд╕рдордп рдПрдХ рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рддрд╛ рд╣реИред рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдмрддрд╛рддрд╛ рд╣реИ рдХрд┐

..., and array variables will be concatenated using the space character.

рдпрд╣ http://fishshell.com/docs/current/index.html рдореЗрдВ "рдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╡рд┐рд╕реНрддрд╛рд░" рдЕрдиреБрднрд╛рдЧ рд╕реЗ рд╣реИред рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдирд╛ рдЙрдЪрд┐рдд рд╣реИ рдХрд┐ рдпрд╣ рдХрдерди рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рд╡рд░реНрд░реЛрдВ рдкрд░ рднреА рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдЙрд╕реА рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЗ "рд╕рд░рдгреА" рдФрд░ "рд╡рд┐рд╢реЗрд╖ рдЪрд░" рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ рдкреНрд░рд▓реЗрдЦрд┐рдд рд╡рд┐рд╢реЗрд╖-рдЖрд╡рд░рдг рдирд╣реАрдВ рд╣реИрдВред

рдпрд╣ рдореЗрд░реА рднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдордЫрд▓реА рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдирд╡реА рд╡рд░реНрд░реНрд╕ рдХреЛ рдХреЛрд▓рди-рд╕реАрдорд╛рдВрдХрд┐рдд рд╡рд┐рд╢реЗрд╖ рдХреЗрд╕ рд╡рд░реНрд░реНрд╕ рдЬреИрд╕реЗ рдкреАрдПрдЯреАрдПрдЪ рдХреЗ рдмрд╛рд╣рд░ рдПрдХ рд╕реВрдЪреА рдореЗрдВ рдЯреЛрдХрдирдирд╛рдЗрдЬрд╝ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдПрдХ рдордЬрдмреВрдд рд╕рд╛рдзрди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдордирдорд╛рдирд╛ рдЪрд░рд┐рддреНрд░ рдкрд░ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдПрдХ var рдХреЛ рдЯреЛрдХрди рдХрд░ рд╕рдХрддрд╛ рд╣реИред

var рдЖрдзрд╛рд░ рдкрд░ var рдкрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдг рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рдЕрдиреБрдкрд╕реНрдерд┐рдд (ala zsh "рдЯрд╛рдЗрдкрд╕реЗрдЯ-рдЯреА" рдХрдорд╛рдВрдб) рд╕рд░рдгреА рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рддреЗ рд╕рдордп рдПрдХ рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдлрд┐рд░ рд╕реЗ, рдХреЛрд▓рди рд╕реЗ рдЕрд▓рдЧ рд╡рд┐рд╢реЗрд╖-рдХреЗрд╕ рд╡рд░реНрд░реНрд╕ рдХреЛ рдЫреЛрдбрд╝рдХрд░ ) рдЬрд╛рд╣рд┐рд░ рд╣реИ рдХрд┐ рдпрд╣ рдирд┐рдЬреА рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдпреВрдирд┐рд╡рд░реНрд╕рд▓ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдХрд╛ рд╕реНрдЯреЛрд░реЗрдЬред

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

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

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЯреЛрдХрдирдирд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ set SOMEPATH (string split : $SOMEPATH) ред

рдирд┐рд░реНрдпрд╛рддрд┐рдд рдЪрд░реЛрдВ рдХреЗ рдЕрдВрддрд░рд┐рдХреНрд╖-рд╕рдВрдпреЛрдЬрди рдХрд╛ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдЬрдм рдордЫрд▓реА рдХреЛ рдкреБрдирд░рд╛рд╡рд░реНрддреА рд░реВрдк рд╕реЗ рдЪрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╡реЗ рдмрджрд▓ рдЬрд╛рддреЗ рд╣реИрдВред рдЖрдЬ рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

> set -x list 1 2 3
> count $list
3
> fish -c 'count $list'
3

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

рдЖрдкрдХреА рд╡рд┐рдЪрд╛рд░рд╢реАрд▓ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред

рдореБрдЭреЗ рд╡рд╣ рджреВрд╕рд░рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛! рдЪреАрдЬреЛрдВ рдкрд░ рдПрдХ рдирдпрд╛ рдирдЬрд░рд┐рдпрд╛ рд░рдЦрдирд╛ рд╣рдореЗрд╢рд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрддрд╛ рд╣реИред

рдЗрд╕ рдЪрд░реНрдЪрд╛ рдореЗрдВ рдирдП рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХреБрдЫ рдЪреАрдЬреЛрдВ рдХреЛ рд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред

рд╕реВрдЪреА рд╢реНрд╡реЗрддрд╕реВрдЪреА рддреБрд░рдВрдд рджрд┐рдорд╛рдЧ рдореЗрдВ рдЖрддреА рд╣реИ, рдЬреЛ #2090 рдЬреИрд╕реЗ рдореБрджреНрджреЛрдВ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ $PATH, $CDPATH рдФрд░ $MANPATH рдХреЗ рд▓рд┐рдП, рд╡реЗ рдордЫрд▓реА рдХреЗ рд▓рд┐рдП рд╕реВрдЪрд┐рдпреЛрдВ/рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдирд┐рд░реНрдпрд╛рдд рд╣реЛрдиреЗ рдкрд░, ":" рдХреЗ рд╕рд╛рде рдлрд┐рд░ рд╕реЗ рдЬреБрдбрд╝ рдЬрд╛рдПрдВрдЧреЗред рдлрд┐рд░ рдПрдХ рдордЫрд▓реА рдХреЗ рдЕрдВрджрд░ рдПрдХ рдордЫрд▓реА рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░ рджреЗрдЧреАред рдпрд╣ рдХреЛрд▓рди рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рди рдХрд┐ \x1eред рдХреЛрдб рдХреА рдореЗрд░реА рд╕рдордЭ рд╕реЗ рдРрд╕рд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдХреЛрд▓рди рдкрд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдмрдЪрдиреЗ рдХрд╛ рдХреЛрдИ рдореМрдХрд╛ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ $PATH рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдЙрдирдХреЗ рдЕрдВрджрд░ рдПрдХ рдХреЛрд▓рди рдХреЗ рд╕рд╛рде рддреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ - рдЬреЛ рдпреВрдирд┐рдХреНрд╕ рдлрд╝рд╛рдЗрд▓рдкреИрде рдХреЗ рдЕрдВрджрд░ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдХрдо рд╕реЗ рдХрдо $ PATH рдХреЗ рд▓рд┐рдП рдЯреВрдЯрд╛ рд╣реБрдЖ рд▓рдЧрддрд╛ рд╣реИ . рдЗрд╕ рдпреЛрдЬрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкрд╛рдпрдердирдкрд╛рде рдФрд░ рдЧреЛрдкрде рдХреЗ рд▓рд┐рдП рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдореБрдЭреЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╣рдореЗрд╢рд╛-рд╡рд┐рднрд╛рдЬрди-рдкрд░-\x1e-рдЫреЛрдбрд╝рдХрд░-рдЗрди-рддреАрди-рд╡рд┐рднрд╛рдЬрди-рдЙрдиреНрд╣реЗрдВ-рдкрд░-рдХреЛрд▓рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЕрдЪреНрдЫрд╛ рд▓рдЧреЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдпреЛрдЬрдирд╛рдПрдВ рд╣реИрдВ one рдФрд░ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рд╕реВрдЪреА рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рдордЫрд▓реА рдХреЗ рдЕрд▓рд╛рд╡рд╛ рд╕рдм рдХреБрдЫ рднреНрд░рдорд┐рдд рдХрд░реЗрдЧрд╛ред

рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ рд╕рдорд╛рдзрд╛рди splitenv var1 var2 var3 рдЬреИрд╕рд╛ рдлрд╝рдВрдХреНрд╢рди рд╣реЛрдЧрд╛:

function splitenv --no-scope-shadowing
    set -e IFS # string split doesn't have superpowers, so unset IFS lest we split on both : and \n
    for arg in $argv
        set -q $arg; and set $arg (string split ":" $$arg)
    end
end

(рдпрджрд┐ string split рдореЗрдВ рдорд╣рд╛рд╢рдХреНрддрд┐рдпрд╛рдВ рд╣реЛрдВ , рддреЛ рдпрд╣ рдереЛрдбрд╝рд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛)

рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рд╕рднреА рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдХреЙрд▓реЛрди рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЙрдиреНрд╣реЗрдВ splitenv рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдПрдХ рд╕рд╣рд╛рдпрдХ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдореГрдд-рд╕реЗрдЯ рдирд╣реАрдВ рд╣реВрдВ, рдореБрдЭреЗ рд╡рд┐рд╢реНрд╡рд╛рд╕ рд╣реИ рдХрд┐ рдпрд╣ рддреБрдЪреНрдЫ рдмрдирд╛рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╣реИ рдмрд╛рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)ред рдкрд╢реНрдЪ-рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП, рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░ splitenv PATH CDPATH MANPATH рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рдХреЛрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕реЗ рдЕрд▓рдЧ рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ, рддреЛ string join рдЙрдкрд▓рдмреНрдз рд╣реИред

рдЗрди рд╕рдмрдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЕрдм \x1e рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдРрд╕реА рдпреЛрдЬрдирд╛ рд╣реИ рдЬрд┐рд╕реЗ рдХрдо рд╕реЗ рдХрдо рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдордЭрдиреЗ рдХрд╛ рдПрдХ рд▓рдбрд╝рдиреЗ рдХрд╛ рдореМрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди (рдмрд▓реНрдХрд┐ рд╡рд┐рджреЗрд╢реА рдЖрдИрдПрдордПрдЪрдУ) рдордЫрд▓реА-рдЕрдВрджрд░-рдордЫрд▓реА рдЕрдм fish -c 'splitenv list; count $list' рд╣реЛ рдЧрдИ рд╣реИ .

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐, рдЬреИрд╕рд╛ рдХрд┐ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╕рд╛рдорд╛рдиреНрдп рдХреЛрд▓рди-рд╕реЗрдкрд░реЗрдЯреЗрдб-рд▓рд┐рд╕реНрдЯ рд╕реНрдХреАрдо рдореЗрдВ рдХреЛрд▓рди рд╕реЗ рдмрдЪрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрджрд┐ рд╣рдо рдПрдХ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ string split рдореЗрдВ "--unscaped" рдирд╣реАрдВ рд╣реИред рдХреЗрд╡рд▓ рдЕрдирдЫреБрдП рд╡рд┐рднрд╛рдЬрдХреЛрдВ рдкрд░ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдХрд▓реНрдкред

рдХреНрдпрд╛ рдореИрдВ рдХреЛрдИ рдорддрд▓рдм рдирд┐рдХрд╛рд▓ рд░рд╣рд╛ рд╣реВрдБ?

@faho рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рдпреЛрдЧреНрдпрддрд╛ рд╣реИред рдкреБрд░рд╛рдиреА рдпреЛрдЬрдирд╛ рдХрд╛ рд╕рдмрд╕реЗ рдЦрд░рд╛рдм рд╣рд┐рд╕реНрд╕рд╛ рдХреЛрд▓рди рдкрд░ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдерд╛, рдЬреЛ рдЙрди рдЪрд░реЛрдВ рдХреЛ рдЙрд▓рдЭрд╛ рджреЗрдЧрд╛ рдЬрд┐рдиреНрд╣реЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдХреЗ рд╡рд┐рдЪрд╛рд░ рдореЗрдВ рдпрд╣ (рд▓рдЧрднрдЧ) рд╣рдореЗрд╢рд╛ рд╕реНрдкрд╖реНрдЯ рд╣реЛрддрд╛ рд╣реИ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХрд╛рдлреА рд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред

рдмрдЪрдиреЗ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ, рдкрд╛рде рдореЗрдВ рдХреЛрд▓рди рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдирдмреВрдЭрдХрд░ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рд▓рд┐рдВрдХ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдирд╣реАрдВ рд╣реИред рдореБрдЭреЗ рд╕рдВрджреЗрд╣ рд╣реИ рдХрд┐ рдкрд╛рдпрдердирдкреИрде, рдХреНрд▓рд╛рд╕рд╕реНрдкреИрдЯ рдЗрддреНрдпрд╛рджрд┐ рдЗрд╕ рд╕рдВрдмрдВрдз рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╕реБрд╕рдВрдЧрдд рд╣реИрдВред рдЪреВрдВрдХрд┐ рдЖрдк рдЗрди рдкрдереЛрдВ рдореЗрдВ рдХреЛрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдЗрд╕рд╕реЗ рдмрдЪреЗрдВрдЧреЗ рдпрд╛ рдирд╣реАрдВ; рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рдПрдХ рдХреЛрд▓рди рд╕реЗ рдмрдЪрддреЗ рд╣реИрдВ рддреЛ рд╣рдореЗрдВ рдмреИрдХрд╕реНрд▓рд╛рд╢ рд╕реЗ рдмрдЪрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рдореИрдВ рд╢рд░реНрдд рд▓рдЧрд╛ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╛рде рдореЗрдВ рдмреИрдХрд╕реНрд▓реИрд╢ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рд╢реНрд╡реЗрддрд╕реВрдЪреА (рдЙрдШ) "рд╕реЗ рдмрдЪ рдирд╣реАрдВ" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред

рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ рд╣рдо рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХрд┐рд╕реА рднреА рдмреГрд╣рджрд╛рдиреНрддреНрд░ рдХреЛ рд╕реАрдорд╛рдВрдХрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рджреЗрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдиреНрдп рдЧреЛрд▓реЗ рдХреЗ рд╕рд╛рде рд╕рд╛рджрдЧреА рдФрд░ рдкрд░рд┐рдЪрд┐рддрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдУрд░ рдЭреБрдХрддрд╛ рд╣реВрдВред

рд╣рдо рдЕрднреА рднреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдХреБрдЫ рд╕реВрдЪреА-рдЬреИрд╕реЗ рдЪрд░ рд╕реНрдерд╛рди-рд╕реАрдорд╛рдВрдХрд┐рдд рд╣реИрдВ, рдФрд░ рдЕрдиреНрдп рдХреЛрд▓рди рд╕реАрдорд╛рдВрдХрд┐рдд рд╣реИрдВред рдПрдХ рд╕рдВрднрд╛рд╡рдирд╛ рдпрд╣ рд╣реИ рдХрд┐ splitenv рдПрдХ рд╕реАрдорд╛рдВрдХрдХ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕реЗ рдпрд╛рдж рд░рдЦрддрд╛ рд╣реИ, рдФрд░ рдирд┐рд░реНрдпрд╛рдд рдкрд░ рдореВрд▓реНрдп рдХреЗ рдкреБрдирд░реНрдирд┐рд░реНрдорд╛рдг рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ:

splitenv --on ' ' LESS
splitenv --on ':' PYTHONPATH

рдпреЗ рдХреЙрд▓ рдЕрдм рдХрд┐рд╕реА рднреА рдореМрдЬреВрджрд╛ рдЪрд░ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рджреЛрд╣рд░реА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреБрдо рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реЛ?

рд╕рд╛рде рд╣реА, config.fish рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рд╣реИ? рд╢рд╛рдпрдж рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЪрд░ рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЗ рд░реВрдк рдореЗрдВ?

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

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

рдпреЗ рдХреЙрд▓ рдЕрдм рдХрд┐рд╕реА рднреА рдореМрдЬреВрджрд╛ рдЪрд░ рдХреЛ рдЖрдпрд╛рдд рдХрд░рдиреЗ рдХреА рджреЛрд╣рд░реА рднреВрдорд┐рдХрд╛ рдирд┐рднрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдпрд╣ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЕрдм "рд╕реНрдкреНрд▓рд┐рдЯреЗрдВрд╡" рдЕрдм рд╕рд╣реА рдирд╛рдо рдирд╣реАрдВ рд╣реИ (рдпрд╣ рддрдм рдерд╛ рдЬрдм рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ рдерд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ: рд╣рдВрд╕рдирд╛:) - рдореИрдВрдиреЗ "рд╕реВрдЪреАрдмрджреНрдз" рднреА рдорд╛рдирд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдореБрдЭреЗ рдкрд░реЗрд╢рд╛рди рдХрд░ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдпрд╛рдж рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛рдВ рд╕рдВрдмрдВрдзрд┐рдд рдЪрд░реНрдЪрд╛ рдХреА рд╣реИ - рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдЖрдЬ рд░рд╛рдд рдлрд┐рд░ рд╕реЗ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдЯреЛрдХрдирдирд╛рдЗрдЬрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреИрд╕реЗ set SOMEPATH (string split : $SOMEPATH) ред

string рдХрдорд╛рдВрдб рдХрд╣реАрдВ рднреА рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рд╕рд╛рде рд╣реА, man string рд╕реНрдЯреНрд░рд┐рдВрдЧ (3) рдореИрди рдкреЗрдЬ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ рдмреАрдПрд╕рдбреА (рдФрд░ рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕) рдкрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореИрдирд┐рдкреБрд▓реЗрд╢рди рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░рддрд╛ рд╣реИред

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

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИрд░рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдореИрдВ рд╢рд░реНрдд рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ рдХрд┐ рдпрджрд┐ рдЖрдк 100 рд▓реЛрдЧреЛрдВ рд╕реЗ рдкреВрдЫрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ var рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЙрдирдореЗрдВ рд╕реЗ 90 рдХрд╣реЗрдВрдЧреЗ рдХрд┐ рдорд╛рди рдПрдХ рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред рдХреБрдЫ рд▓реЛрдЧ рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЕрд▓реНрдкрд╡рд┐рд░рд╛рдо рдпрд╛ рдЕрдиреНрдп рдЪрд╛рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдФрд░ env рдЪрд▓рд╛рдиреЗ рд╡рд╛рд▓реЗ рджреЛ рд╡реНрдпрдХреНрддрд┐ рдХрд╣реЗрдВрдЧреЗ рдХрд┐ рдорд╛рди рдмрд┐рдирд╛ рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рд╕рдВрдпреЛрдЬрд┐рдд рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЬрдм рддрдХ рдЖрдк cat -evt рдЬреИрд╕реА рдХрд┐рд╕реА рдЪреАрдЬрд╝ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЖрдЙрдЯрдкреБрдЯ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд░рд┐рдХреЙрд░реНрдб рд╡рд┐рднрд╛рдЬрдХ рд╡рд░реНрдг рдЕрджреГрд╢реНрдп рд╣реИред

рдЬреЛ #2090 . рдЬреИрд╕реЗ рдореБрджреНрджреЛрдВ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ

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

рдЗрд╕рд▓рд┐рдП рдпрд╣ $PATH рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдЙрдирдХреЗ рдЕрдВрджрд░ рдПрдХ рдХреЛрд▓рди рдХреЗ рд╕рд╛рде рддреЛрдбрд╝ рд╕рдХрддрд╛ рд╣реИ

рдЗрд╕реЗ рдареАрдХ рдХрд░рдиреЗ рдореЗрдВ рдХрдо рд╕реЗ рдХрдо рддреАрд╕ рд╕рд╛рд▓ рдмрд╣реБрдд рджреЗрд░ рд╣реЛ рдЪреБрдХреА рд╣реИред рд╣рдореЗрдВ рдХреЛрд▓рди рд╕реЗ рдмрдЪрдиреЗ (рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдмрдЪрдиреЗ рд╡рд╛рд▓реЗ рдЪрд░рд┐рддреНрд░) рдХреЛ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЧреИрд░-рдорд╛рдирдХ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реЛрдЧрд╛ред рдХреБрдЫ рд╕рдордп рдкрд╣рд▓реЗ рддрдХ рдореИрдВрдиреЗ UNIX рд╕рдкреЛрд░реНрдЯ рд╕реНрдкреЗрд╢рд▓рд┐рд╕реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ 20+ рд╕рд╛рд▓ рдмрд┐рддрд╛рдП рдереЗред рдореИрдВрдиреЗ рдХрднреА рдХрд┐рд╕реА рдХреЛ рд╢рд┐рдХрд╛рдпрдд рдХрд░рддреЗ рдирд╣реАрдВ рд╕реБрдирд╛ рд╣реИ рдХрд┐ $PATH рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдЪрд░ рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдХреЛрд▓рди рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдПрдХ рдореБрджреНрджрд╛ рдерд╛ред

рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ рд╕рдорд╛рдзрд╛рди рдПрдХ рд╕рдорд╛рд░реЛрд╣ рд╣реЛрдЧрд╛ рдЬреИрд╕реЗ splitenv var1 var2 var3

рдпрд╣ рдареАрдХ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпреЛрдВ (рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд) string split рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред рднрд▓реЗ рд╣реА рд╣рдореЗрдВ рдПрдХ рдирдП рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ, рд╣рдореЗрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдХреЛрдИ рдирдпрд╛ рдСрдЯреЛ-рд╕реНрдкреНрд▓рд┐рдЯ рдПрдирд╡реА рд╡рд░реНрд░реНрд╕ рдирд╣реАрдВ рдЬреЛрдбрд╝рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреЗрд╡рд▓ рджреЛ рд╣реА рд╕рд╛рдорд╛рдиреНрдп рд╣реИрдВ рдЬреЛ рдЙрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╡рд╛рд░рдВрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ PATH рдФрд░ CDPATH (рдФрд░ MANPATH рдЗрд╕рдХреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд┐рд╢реЗрд╖-рдЖрд╡рд░рдг рдХреЗ рдмрд╛рдж рд╕реЗ)ред рдЕрдиреНрдп рд╕рдВрд╕реНрдХрд░рдг рдЬреИрд╕реЗ PYTHONPATH рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдпрджрд┐ рдЙрдиреНрд╣реЗрдВ рдпрд╣ рдЙрдкрдпреЛрдЧреА рд▓рдЧрддрд╛ рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдХрд╣рдиреЗ рдХреЗ рдмрд╛рдж рдХрд┐ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдпрд╣ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрд╛рдпрдердирдкреИрде) рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рд╣реЛрдиреЗ рдкрд░ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рднрд╛рдЬрдХ рдЪрд╛рд░ рдХреЗ рд╕рд╛рде рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рддрд░реАрдХрд╛ set рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,

set -x -S ':' PYTHONPATH dir1 dir2 dir3

рдпрд╣ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдХрд┐ var рдХреЛ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ var рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдореЗрдВ рдХреИрд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рд░рд┐рдХреЙрд░реНрдб-рд╡рд┐рднрд╛рдЬрдХ рдЪрд╛рд░ рдХрд╛ рдЕрднреА рднреА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЙрд╕ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рд╕реЗ рд▓реЛрдб рд╣реЛрдиреЗ рдкрд░ рдпрд╣ рд╕реНрд╡рддрдГ-рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИ рдХрд┐ рдирд┐рд░реНрдпрд╛рдд рдХреЗ рд▓рд┐рдП рдкрдВрдЬреАрдХреГрдд рд╡рд┐рднрд╛рдЬрдХ рдЪрд╛рд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЗрдВрдЯрд░рдкреЛрд▓реЗрд╢рди рдХреЛ рднреА рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВред рдореЗрд░реА рднрд╛рд╡рдирд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЪрд╛рд╣рд┐рдПред рдпрд╣реА рд╣реИ, рдпрджрд┐ рдЙрдкрд░реЛрдХреНрдд "рд╕реЗрдЯ" рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдПрдХ рдЕрдиреБрд╡рд░реНрддреА

echo "PYTHONPATH is $PYTHONPATH"

PYTHONPATH рдХреЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд╛рди рдХреЗ рдмрдЬрд╛рдп рдПрдХ рдмреГрд╣рджрд╛рдиреНрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рднрд╛рдЬрдХ рдореМрдЬреВрджрд╛ рд╢рдмреНрджрд╛рд░реНрде рдХреЛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрд╢реНрдЪрд░реНрдп рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдерд╛рди рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ PATH рдЬреИрд╕реЗ рд╡рд┐рд╢реЗрд╖-рдЖрд╡рд░рдг рд╡рд╛рд▓реЗ рд╕рдВрд╕реНрдХрд░рдг рднреА рдЙрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдПрдХ рдХреЛрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЬреЛ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд╕рд╛рде рдЕрд╕рдВрдЧрдд рд╣реИ рд▓реЗрдХрд┐рди рдирдП рд╢рдмреНрджрд╛рд░реНрде рдХреЗ рдЕрдиреБрд░реВрдк рд╣реИ рдФрд░ рдХрдо рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ $PATH рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдХреЙрд▓рди рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╣реЛрддреЗ рд╣реИрдВ

echo "PATH is $PATH"

рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХрдорд╛рдВрдб рдХрд╣реАрдВ рднреА рджрд╕реНрддрд╛рд╡реЗрдЬ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓ рд╕рдХрддрд╛ рд╣реИред рд╕рд╛рде рд╣реА, рдореИрди рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧ (3) рдореИрди рдкреЗрдЬ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореИрдирд┐рдкреБрд▓реЗрд╢рди рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреЛ рдмреАрдПрд╕рдбреА (рдФрд░ рдореИрдХ рдУрдПрд╕ рдПрдХреНрд╕) рдкрд░ рджрд╕реНрддрд╛рд╡реЗрдЬ рдХрд░рддрд╛ рд╣реИред

рдЖрд░рд╛рдо рд╕реЗ рдмрд╛рдШред рдпрд╣ рд╡рд┐рдХрд╛рд╕ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рд╣реИ - https://github.com/fish-shell/fish-shell/blob/master/doc_src/string.txt рджреЗрдЦреЗрдВ

рдпрд╣ рдареАрдХ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпреЛрдВ (рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд) рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╡рд┐рднрд╛рдЬрди рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИред

рдореЗрд░рд╛ рдореВрд▓ рд╡рд┐рдЪрд╛рд░ рдпрд╣ рдерд╛ рдХрд┐ рдпрд╣ рдПрдХ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛рд░реНрдп рд╣реИ рдЗрд╕рд▓рд┐рдП рдпрд╣ рдСрдкрд░реЗрд╢рди рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫреЛрдЯрд╛ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред @ridiculousfish рдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд╕рд╛рде рдпрд╣ рдХреБрдЫ рдФрд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреЗ рд╕реНрдЯреЛрд░ рдХреЛ рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдЪрд░ рднреА рдЙрд╕ рдЪрд░рд┐рддреНрд░ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛ рдЬрд╛рдПред string split рд╕рд┐рд░реНрдл рдПрдХ рдХрдорд╛рдВрдб рд╣реИ рдЬреЛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИ - рдореВрд▓ рд░реВрдк рд╕реЗ cut рдХрд╛ рд╣рдорд╛рд░рд╛ рд╕рдВрд╕реНрдХрд░рдгред

рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рддрд░реАрдХрд╛ рд╕реЗрдЯ рдХрдорд╛рдВрдб рдХреЗ рд▓рд┐рдП рдПрдХ рдирдпрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред

рдпрд╣ рдПрдХ рдФрд░ рд╡рд┐рдХрд▓реНрдк рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд░реНрдерд╢рд╛рд╕реНрддреНрд░ рдкрд░ рдмреЗрдЪрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реВрдВред рдЬреИрд╕реЗ set -S ':' PYTHONPATH ред рдХреНрдпрд╛ рдпрд╣ PYTHONPATH рдХреЛ рдЦрд╛рд▓реА рд╕реВрдЪреА рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдЧрд╛ рдпрд╛ рдпрд╣ рдореМрдЬреВрджрд╛ PYTHONPATH рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдЧрд╛? рдЕрдм рддрдХ рд╕рднреА рд╕реЗрдЯ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдиреЗ рдкреВрд░реНрд╡ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ set -S ':' PYTHONPATH $PYTHONPATH рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╛ рд╣рдо рдЗрд╕реЗ _not_ рдХрд░ рджреЗрдВрдЧреЗ рдФрд░ рдЙрд╕реА рдЯреВрд▓ рдореЗрдВ рдЕрд╕рдВрдЧрддрд┐ рд╣реЛрдЧреАред

рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ $PATH рдХреЗ рддрддреНрд╡реЛрдВ рдХреЛ рдХреЛрд▓рди рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди echo "PATH is $PATH" рдХреЗ рдЖрдЙрдЯрдкреБрдЯ рдореЗрдВ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╣реЛрддреЗ рд╣реИрдВ

рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рд╡рд╛рд▓ рд╣реИред рдмреЗрд╢рдХ рдЖрдк рд╡рд┐рднрд╛рдЬрдХ рд╕реЗ for p in $PATH; echo $p; end рдХрд╣рдиреЗ рдХреА рдЕрдкреЗрдХреНрд╖рд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдкреНрд░рддрд┐-рдЪрд░ рд╡рд┐рднрд╛рдЬрдХ рдЪрд╛рд░ рдХреЗ рд╕рд╛рде рдЗрд╕рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ рд╕рд╣реА рдХрд╛рдо рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдмреЗрд╢рдХ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП string join рд╣реИред

рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИрд░рд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред рдореИрдВ рд╢рд░реНрдд рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реВрдВ рдХрд┐ рдпрджрд┐ рдЖрдк 100 рд▓реЛрдЧреЛрдВ рд╕реЗ рдкреВрдЫрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрдм рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рддрддреНрд╡реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ var рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЙрдирдореЗрдВ рд╕реЗ 90 рдХрд╣реЗрдВрдЧреЗ рдХрд┐ рдорд╛рди рдПрдХ рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВред

рдбрд┐рдЬрд╝рд╛рдЗрди-рджрд░-рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдФрд░ рдордЫрд▓реА рдХрд░рдиреЗ рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╕реНрдпрд╛ рд╣реИред рдХреНрдпреЛрдВрдХрд┐ рд╕рд░реНрд╡реЗрдХреНрд╖рдг рдХрд┐рдП рдЧрдП рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрдХреНрд╕рд░ рдмреИрд╢ (рдФрд░ рдХреБрдЫ рд╣рдж рддрдХ рдЕрдиреНрдп POSIXy рдЧреЛрд▓реЗ) рдХрд╛ рдЬреНрдЮрд╛рди рд╣реЛрддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдордЫрд▓реА рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ POSIX рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдХреБрдЫ _better_ рдХрд░рдирд╛ рд╣реИред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмреЗрдХрд╛рд░ рд╣реИ, рдпрд╣ рд╕рд┐рд░реНрдл рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрдиреЗ рд╡рд╛рд▓реА рдмрд╛рдд рд╣реИ - рдЕрдЧрд░ рд╣рдо рдЗрд╕ рддрд░рд╣ рдХреЗ рд╡рд┐рдЪрд╛рд░реЛрдВ рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдмреИрд╢ рдХрд╛ рд╢рдмреНрдж-рд╡рд┐рднрд╛рдЬрди рд╡реНрдпрд╡рд╣рд╛рд░ рдФрд░ рдЗрдл-рдлрд╛рдИ рд╣реЛрдЧрд╛ред

рдХреНрдпрд╛ set -S ':' PYTHONPATH PYTHONPATH рдХреЛ рдЦрд╛рд▓реА рд╕реВрдЪреА рдореЗрдВ рд╕реЗрдЯ рдХрд░реЗрдЧрд╛ рдпрд╛ рдпрд╣ рдореМрдЬреВрджрд╛ PYTHONPATH рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдЧрд╛?

рдпрд╣ рдЗрд╕реЗ рдПрдХ рдЦрд╛рд▓реА рд╕реВрдЪреА рдореЗрдВ рд╕реЗрдЯ рдХрд░ рджреЗрдЧрд╛ред рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореМрдЬреВрджрд╛ рдореВрд▓реНрдп рдХреЛ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рддреЛ рдЙрдиреНрд╣реЗрдВ рдЗрд╕реЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)ред

рдирд┐рд░реНрдпрд╛рдд рдпрд╛ рдкреНрд░рдХреНрд╖реЗрдк рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд░рдгреА рддрддреНрд╡реЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╡рд░реНрдг (рдпрд╛ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ) рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рдзрди рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХреНрд╖рдорддрд╛рдПрдВ рд╣реИрдВред рдЕрдЧрд░ рдХреЛрдИ PYTHONPATH рдЬреИрд╕реЗ var рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рддреЛ рд╡реЗ рдЗрд╕реЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ:

set PYTHONPATH "/a/new/dir:$PYTHONPATH"

рдпрд╛ рд╡реЗ рдЗрд╕реЗ рдПрдХ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рди рд╕рдХрддреЗ рд╣реИрдВ:

set -S ":" PYTHONPATH /a/new/dir (string split ":" $PYTHONPATH)

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдЗрдВрдЯрд░рдкреЛрд▓реЗрдЯ рдХрд░рддреЗ рд╕рдордп рд╕реНрдкреЗрд╕ рдХреЗ рдмрдЬрд╛рдп рд╕реНрдкреНрд▓рд┐рдЯ/рдХреЙрдиреНрд╕рдЯреЗрдиреЗрд╢рди рдХреИрд░реЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдореЗрд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд▓рдЧрд╛рддрд╛рд░ рд╡реНрдпрд╡рд╣рд╛рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЪрд╛рд╣реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ var рдХреЛ рд╕рд░рдгреА рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реЛ рдпрд╛ рдирд╣реАрдВред

рдореИрдВ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рд╕рдорд┐рддрд┐ рджреНрд╡рд╛рд░рд╛ рдбрд┐рдЬрд╛рдЗрди рдХрд╛ рд╕реБрдЭрд╛рд╡ рдирд╣реАрдВ рджреЗ рд░рд╣рд╛ рд╣реВрдВред рдЗрд╕ рддрд░рд╣ zsh рдХреА рддрд░рд╣ рдкрд╛рдЧрд▓рдкрди рдФрд░ рдлрд░реНрдЬреАрд╡рд╛рдбрд╝рд╛ рд╣реИред рдореИрдВ рдХреЗрд╡рд▓ рдпрд╣ рдЗрдВрдЧрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХрд┐ рдЬрдм рджреЛ рдпрд╛ рджреЛ рд╕реЗ рдЕрдзрд┐рдХ рд╡рд┐рдХрд▓реНрдк рджрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЛ рдЪреБрдирдиреЗ рдХрд╛ рдХреЛрдИ рдЕрдиреНрдп рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЙрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЛ рдЪреБрдирдирд╛ рдЬреЛ рд╢реЗрд▓ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдЖрд╢реНрдЪрд░реНрдпрдЪрдХрд┐рдд рдХрд░реЗрдЧрд╛, рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ (рдлрд┐рд▓рд╣рд╛рд▓) рдирдП рдЖрджреЗрд╢реЛрдВ рдпрд╛ рд╡реНрдпрд╡рд╣рд╛рд░реЛрдВ рдЬреИрд╕реЗ рдСрдЯреЛ-рд╕реНрдкреНрд▓рд┐рдЯрд┐рдВрдЧ рд╡рд░реНрд░реНрд╕ (рдкрд╛рде рдФрд░ рд╕реАрдбреАрдкреАрдПрдЯреАрдПрдЪ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ) рдХреЛ рдкреЗрд╢ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рд░реЛрдз рдХрд░ рд░рд╣рд╛ рд╣реВрдВред рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХреА рдЪреАрдЬ рд╣реИ рдЬреЛ рдЕрдХреНрд╕рд░ рдФрд░ рдЖрдорддреМрд░ рдкрд░ рдХреЗрд╡рд▓ config.fish рдФрд░ рдПрдирд╛рдХреЛрдВрдбрд╛ рдХреА "рд╕рдХреНрд░рд┐рдп" рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЬреИрд╕реЗ рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░реНрдпреЛрдВ рдореЗрдВ рдХреА рдЬрд╛рддреА рд╣реИред рдФрд░ рдмрд╛рдж рд╡рд╛рд▓реЗ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рдЗрд╕ рдмрд╛рдд рдХреА рдкрд░рд╡рд╛рд╣ рдХрд┐рдП рдмрд┐рдирд╛ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА var рдХреЛ рдЕрдкрдиреЗ config.fish рдореЗрдВ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдЗрд╕реЗ рд╣рдореЗрд╢рд╛ рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ PYTHONPATH рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддреЛ рдпрд╣ рдРрд╕рд╛ рдХреБрдЫ рдХрд░ рд╕рдХрддрд╛ рд╣реИ:

# Hypothetical snippet from the Anaconda activate script.
if test (count PYTHONPATH) -gt 1
    set -S ':' PYTHONPATH /activated/python/tree $PYTHONPATH
else
    set PYTHONPATH "/activated/python/tree:$PYTHONPATH"
end

рдпрд╛, рдЕрдзрд┐рдХ рд╕рд░рд▓рддрд╛ рд╕реЗ,

# Hypothetical snippet from the Anaconda activate script.
set -S ':' PYTHONPATH /activated/python/tree (string split ':' $PYTHONPATH)

рд╣рд╛рдВ, рдпрд╣ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдореЗрд░реЗ рдирд┐рдпрдо рдХреЗ рд╕рд╛рде рдХрд┐ -S рд╕реНрд╡рд┐рдЪ рджреНрд╡рд╛рд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╡рд░реНрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рдЙрд╕ рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдФрд░ рдЗрдВрдЯрд░рдкреЛрд▓ рдХрд░рдирд╛ рдЕрднреНрдпрд╛рд╕ рдореЗрдВ рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдПрдХ рдХреЛрдиреЗ рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИред рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ var рдХреЛ рдЕрдкрдиреЗ config.fish рдореЗрдВ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рд╡рд╣ рдЙрдкрд░реЛрдХреНрдд рдХрд╛рд▓реНрдкрдирд┐рдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреА рддрд░рд╣ рдХреБрдЫ рдЪрд▓рд╛рддрд╛ рд╣реИред рд╡рд░ рд╕рдВрднрд╛рд╡рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдмрд╣реБ-рддрддреНрд╡ рд╕рд░рдгреА рдмрди рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрджрд┐ рд╡реЗ рдмрд╛рдж рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ

for elem in $PYTHONPATH
   echo $elem
end

рдпрд╣ рдХреЛрд▓рди рд╕реЗ рдЕрд▓рдЧ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд▓реВрдк рдХреЗ рд╢рд░реАрд░ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХрд╛рд▓реНрдкрдирд┐рдХ "рд╕рдХреНрд░рд┐рдп" рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рд╡рд┐рднрд╛рдЬрди рд╕реЗ рдЕрдирдЬрд╛рди рдереЗред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рдо рдЗрд╕рдХреЗ рд╕рд╛рде рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХреБрдЫ рдХрд░рдирд╛ рдкреНрд░рддрд┐рдХреВрд▓ рд╣реЛрдЧрд╛ред

рдЯреАрдПрд▓; рдбреЙ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдЙрдирдХреЗ рдбрд┐рд▓реАрдореАрдЯрд░ рдХреЛ "рдпрд╛рдж рд░рдЦрдирд╛" рдЪрд╛рд╣рд┐рдП рдФрд░ рдиреАрдЪреЗ рдпрд╣реА рдХрд╛рд░рдг рд╣реИред


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

рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ (рдФрд░ рдореИрдВ рд▓рдВрдмрд╛рдИ рдкрд░ рдЙрддрдирд╛ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рддрдирд╛ рдХрд┐ рдмрд╛рд░-рдмрд╛рд░ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдЪреАрдЬреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдкрд░):

  • рдордЫрд▓реА: set -S ':' PYTHONPATH /activated/python/tree (string split ':' $PYTHONPATH)
  • рдЕрдВрдЧреНрд░реЗрдЬрд╝реА: " /activated/python/tree рд╕реЗ PYTHONPATH ( : -delimited`) рдЬреЛрдбрд╝реЗрдВ"

рдпрд╣рд╛рдВ рджреЛ рджреЛрд╣рд░рд╛рдИ рдЧрдИ рдЪреАрдЬреЗрдВ рд╣реИрдВ: PYTHONPATH рдФрд░ рд╕реАрдорд╛рдВрдХрдХ : ред рд╡рд╣ PYTHONPATH рджреЛрд╣рд░рд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдпрдХреАрдирди рджреЛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ рдареАрдХ рд╣реИ, рдФрд░ рдЗрди рджреЛрдиреЛрдВ рдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рдХрд╛рд░рдг рд╕реАрдорд╛рдВрдХрдХ рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

  1. рдЬрдм рдХреЛрдИ set PYTHONPATH /activated/python/tree $PYTHONPATH рдХрд╣рддрд╛ рд╣реИ рддреЛ рдпрд╣ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ i = 2 + i рдЬреИрд╕реА рдЪреАрдЬреЛрдВ рдХреЗ рд╕рдорд╛рди рд╣реИ, рдЬреЛ рдПрдХ рдмрд╣реБрдд рд╣реА рдкрд░рд┐рдЪрд┐рдд рдЕрд╡рдзрд╛рд░рдгрд╛/рдореБрд╣рд╛рд╡рд░рд╛ рд╣реИред (рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА += рдЬреИрд╕реЗ рд╢реЙрд░реНрдЯрдХрдЯ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдиреАрдЪреЗ --append рдзреНрд╡рдЬ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред) рджреВрд╕рд░реА рдУрд░, рдЬрдм рд▓реЛрдЧ рдХрд┐рд╕реА рд╕реВрдЪреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдмрдВрдЯрд╡рд╛рд░реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВред рдФрд░ рдПрдХ рд╕реАрдорд╛рдВрдХрдХ рдкрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрдирд╛ред рд╡реЗ рдкреВрд░реА рд╕реВрдЪреА рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдмрджрд▓рдиреЗ, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ рд╡рд╛рдкрд╕ рд░рдЦрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВред рдЙрдирдХреЗ рджрд┐рдорд╛рдЧ рдореЗрдВ, рд╡реЗ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЗрд╕реЗ рдХреБрдЫ "рдЖрдВрддрд░рд┐рдХ" рдпрд╛ "рдкрд╕рдВрджреАрджрд╛" рд╕реАрдорд╛рдВрдХрдХ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╕реАрдорд╛рдВрдХрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдкрдврд╝рддреЗ рд╣реИрдВред
  2. рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рджреЗ set рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рджреЛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдХрдорд╛рдВрдб рдЬреЛрдбрд╝рдиреЗ рд╕реЗ рдмрдЪрд╛рддрд╛ рд╣реИред рджреВрд╕рд░реА рдУрд░, рдПрдХ рд╕реАрдорд╛рдВрдХрдХ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдирд╛ рдПрдХ рдРрд╕реА рдЪреАрдЬ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рдХрднреА рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд░реЗ, рдЬреНрдпрд╛рджрд╛рддрд░ рдЙрдкрд░реЛрдХреНрдд рдХрд╛рд░рдгреЛрдВ рд╕реЗред

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

# Changes the delimiter for this list. This might be done in some global config file for common lists as this one.
set -S ':' --no-modify PYTHONPATH
# or, workaround if you don't want to add extra options to set:
set -S ':' PYTHONPATH $PYTHONPATH

# The actual append operation
set --prepend PYTHONPATH /activated/python/tree
# or, workaround if you don't want to add extra options to set:
set PYTHONPATH /activated/python/tree $PYTHONPATH

рдирд┐рд╣рд┐рддрд╛рд░реНрде/рдЕрдиреБрд╡рд░реНрддреА рдкреНрд░рд╢реНрди/рдЖрджрд┐:

  1. рдпрд╣ рд╡рд░реНрддрдорд╛рди рд╕реБрдЭрд╛рд╡ рдХреЗ рд╕рд╛рде рдХрд╛рдлреА рд╕рдВрдЧрдд рд╣реИред рдпрд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рд╡рд░реНрддрди рд╣реИрдВ:

    • рд╕реАрдорд╛рдВрдХрдХ рдЫрдбрд╝реА рдмрдирд╛рдПрдВ (рд╕рдВрднрд╡рддрдГ __fish_sep_PYTHONPATH рдХреЗ рд░реВрдк рдореЗрдВ рдХрд┐рд╕реА рдЕрдиреНрдп рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)

    • (рд╡реИрдХрд▓реНрдкрд┐рдХ) рдПрдХ рдзреНрд╡рдЬ рдЬреЛрдбрд╝реЗрдВ рдЬрд┐рд╕реЗ рдореИрдВ рд╡рд░реНрддрдорд╛рди рдореЗрдВ --no-modify рдкрд░ рдХреЙрд▓ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рдЬреЛ рдордЫрд▓реА рдХреЛ рдЙрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рд╕реВрдЪреА рдХреЗ рд╕реАрдорд╛рдВрдХрдХ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рддрд╛ рд╣реИред рд╕рдВрднрд╡рддрдГ рдЙрдкрд░реЛрдХреНрдд рдХрд╛рд░рдг (1) рдХреЗ рдХрд╛рд░рдг --append рдФрд░ --prepend рдЭрдВрдбреЗ рднреА рдЬреЛрдбрд╝реЗрдВред рд╡реИрд╕реЗ рднреА рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдП рдЧрдП рд╕рдорд╛рдзрд╛рди рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдЖрдЬ рдордЫрд▓реА рдореЗрдВ рдХреИрд╕реЗ рд╕рдВрд▓рдЧреНрди рдФрд░ рдкреНрд░реАрдкреЗрдиреНрдбрд┐рдВрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

  2. рдордЫрд▓реА рдореЗрдВ, рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдХрдо рд╕реЗ рдХрдо рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХреЗ рдирд╛рдЧрд░рд┐рдХреЛрдВ рдХреА рддрд░рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕рдХрд╛ рдорддрд▓рдм рдпрд╣ рд╣реИ рдХрд┐ рд╕реАрдорд╛рдВрдХрдХ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рди рдХрд┐ рд╕реВрдЪреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ (рдЬрдм рддрдХ рдХрд┐ рд╕реАрдорд╛рдВрдХрдХ рддрддреНрд╡реЛрдВ рдореЗрдВ рд╕реЗ рдХрд┐рд╕реА рдПрдХ рдореЗрдВ рдореМрдЬреВрдж рди рд╣реЛ, рдЬрд┐рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╡рд┐рднрд╛рдЬрди рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИ)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рд╕реАрдорд╛рдВрдХрдХ рдХреЛ , рд╕реЗ : рдореЗрдВ рдмрджрд▓ рд░рд╣реЗ рд╣реИрдВ, рддреЛ ["0:1", "2"] рдХреЛ ["0", "1", "2"] рдмрдирдирд╛ рдЪрд╛рд╣рд┐рдП рди рдХрд┐ ["0", "1,2"] (рдЬреЛ рдХрд┐ рдРрд╕рд╛ рддрдм рд╣реЛрдЧрд╛ рдЬрдм рдЖрдк рд╕реВрдЪреА рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЛ рдмрджрд▓реЗ рдмрд┐рдирд╛ рдмрд╕ рд╕реАрдорд╛рдВрдХрдХ рдХреЛ рдмрджрд▓ рджреЗрдВ)ред рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдФрд░ рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХрддрдо рд╕рдВрдЧрддрддрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ, рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╕реАрдорд╛рдВрдХрдХ рд╣реИред

рдпрд╣рд╛рдБ рдиреАрдЪреЗ рдХреА рд░реЗрдЦрд╛ рд╣реИ:

  • рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рдХрдо рдЯреЛрдХрди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рд▓рдЧрднрдЧ рдХреБрдЫ рднреА рджреЛрд╣рд░рд╛рдпрд╛ рдирд╣реАрдВ рдЬрд╛рддрд╛ рд╣реИред
  • рдпрд╣ рдХрдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдорд╛рдирд╕рд┐рдХ рдореЙрдбрд▓ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рд╣реИред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрди рд╢рдмреНрджреЛрдВ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ: "рдкреНрд░реАрдкреЗрдиреНрдб", "рдбрд┐рд▓реАрдореАрдЯрд░ рд╕реЗрдЯ рдХрд░реЗрдВ", "рд╕рдВрд╢реЛрдзрд┐рдд рди рдХрд░реЗрдВ"ред
  • рдпрд╣ рдЗрд╕ рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рд╕рд╣реА рддрд░реАрдХрд╛ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИ (рдкреБрд░рд╛рдирд╛ рддрд░реАрдХрд╛ рдЕрдм рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдирд╛рдбрд╝реА рд▓рдЧрддрд╛ рд╣реИ), рдФрд░ рдЗрд╕рд▓рд┐рдП рдпреЗ рдЬреЛрдбрд╝ рдСрд░реНрдереЛрдЧреЛрдиреИрд▓рд┐рдЯреА рдХреЛ рдирд╖реНрдЯ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
set --no-modify -S : PYTHONPATH
set --prepend PYTHONPATH /activated/python/tree

рдореЗрд░реЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╡рд┐рд╕реНрддреГрдд рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, @szhu ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдкрдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдореЗрдВ рдХрдИ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, --no-modify рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЬреЛрдбрд╝ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЪрд░ рдХреЛ рд╕реВрдЪреА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдХреЗ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЪрд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЬрдмрдХрд┐ рдореИрдВрдиреЗ рдЖрдкрдХреЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд▓рдЧрднрдЧ рд╕рднреА рддрддреНрд╡реЛрдВ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░ рджрд┐рдпрд╛ рд╣реИ, рдЗрд╕рдиреЗ рдореБрдЭреЗ рдПрдХ рдЕрдзрд┐рдХ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдкрд░ рдордЬрдмреВрд░ рдХрд░ рджрд┐рдпрд╛, рдЬреЛ рдЖрдкрдХреЗ рд╕рднреА рдмрд┐рдВрджреБрдУрдВ рдкрд░, рдпрджрд┐ рд╕рднреА рдХреЛ рдирд╣реАрдВ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░реЗрдЧрд╛ред рд╢рд╛рдпрдж рдордЫрд▓реА рдХреЛ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рддрдВрддреНрд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП env var рдХреЛ рд╣рдореЗрд╢рд╛ рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдЯреЛрдХрди (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, ":" рдпрд╛ "") рдкрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдФрд░ рдкреБрдирд░реНрдЧрдард┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рдПрдХ рдСрдЯреЛ-рд╕рд░рдгреА рдкрджрдирд╛рдо рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЬрдм рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдорд╛рди рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рд╡рд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕рд░рдгреА рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рддреБрд░рдВрдд рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЛ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрдорд╛рдВрдб рдореЗрдВ рдПрдХ рдирдпрд╛ рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореБрдЭреЗ рдЪрд┐рдВрддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд░рдирд╛ рдЕрд╕реНрдкрд╖реНрдЯ рд╣реИ рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдореВрд▓реНрдп рд╡рд╛рд▓реЗ рдЪрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдХреНрдпрд╛ рд╕реЗрдЯ рдХрдорд╛рдВрдб рдореЗрдВ -рдП рдЯреЛрдХрди рд╡рд┐рдХрд▓реНрдк рдЬреЛрдбрд╝рдирд╛ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

set -x -A ':' PYTHONPATH

рд╕рдВрднрд╡рддрдГ рдпрд╣ рдХрд┐рд╕реА рднреА рдореМрдЬреВрджрд╛ PYTHONPATH env var рдХреЛ рдПрдХ рдХреЛрд▓рди рдкрд░ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдПрдХ рд╕рд░рдгреА рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рджреЗрдЧрд╛ред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд рдЬрдм рдПрдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдпрд╛ рдкреНрд░рдХреНрд╖реЗрдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдореВрд▓реНрдпреЛрдВ рдХреЛ рдПрдХ рдХреЛрд▓рди рдкрд░ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕реА рддрд░рд╣, рднрд▓реЗ рд╣реА рдЙрд╕ рд╕рдордп рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд╕рдордп PYTHONPATH рдореМрдЬреВрдж рдирд╣реАрдВ рдерд╛, рдСрдЯреЛ-рд╕рд░рдгреА рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдпрд╛рдж рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдмрд╛рдж рдХреЗ рдЙрдкрдпреЛрдЧ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдВрдЧреЗред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдПрдЧрд╛:

set PYTHONPATH /a/path /b/path /c:/d/path

рд▓реЗрдХрд┐рди рдЙрд╕ рдЖрдЦрд┐рд░реА рддрд░реНрдХ рдХрд╛ рдХреНрдпрд╛? рдХреНрдпрд╛ рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рджреЛ рдЯреЛрдХрди рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП?

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

set -x -A ':' PYTHONPATH 'hello:goodbye' $PYTHONPATH

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

@ krader1961 , рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЪрд░ рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдордЫрд▓реА рдореЗрдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рдЧрд▓рдд рд╕рдордЭ рд░рд╣реЗ рд╣реИрдВ: рдкреНрд░рддреНрдпреЗрдХ рдЪрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реИ ред рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдкреНрд░рддреАрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдЪрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдВрдмрд╛рдИ 1 рдХреА рд╕реВрдЪрд┐рдпрд╛рдВ рд╣реИрдВред рдордЫрд▓реА рдЙрдиреНрд╣реЗрдВ рд▓рдВрдмрд╛рдИ 0 рдпрд╛ 2 рдпрд╛ рдХрд┐рд╕реА рдЕрдиреНрдп рд▓рдВрдмрд╛рдИ рдХреА рд╕реВрдЪрд┐рдпреЛрдВ рд╕реЗ рдЕрд▓рдЧ рдирд╣реАрдВ рдорд╛рдирддреА рд╣реИред

рд╕рд╛рде рд╣реА, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЬрдм рдЖрдк рд╕реАрдорд╛рдВрдХрдХ рдмрджрд▓рддреЗ рд╣реИрдВ рддреЛ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░реЛрдВ рдХреЛ рдкрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдмрджрд▓ рд╕рдХрддреА рд╣реИ, рдордЫрд▓реА рдХреЗ рдЧреБрдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдпрд╣ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЖрдо рддреМрд░ рдкрд░ рдбрд┐рд▓реАрдореАрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдореИрдВ рдЕрдиреБрд╢рдВрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рднреА -S рд╡рд┐рдХрд▓реНрдк рдпрд╣ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕реВрдЪреА рдХреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдХреИрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрдм рдпрд╣ _exported рдмрд╛рд╣рд░реА_ рдордЫрд▓реА рд╣реЛред -S рдЗрди-рдлрд┐рд╢ рд╕реВрдЪреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЛ рдирд╣реАрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП (рдЙрди рдорд╛рдорд▓реЛрдВ рдХреЛ рдЫреЛрдбрд╝рдХрд░ рдЬрд╣рд╛рдВ рд▓рдХреНрд╖реНрдп рд╕реАрдорд╛рдВрдХрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЙрд╕ рд╕реВрдЪреА рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ)ред

рд╡реИрд╕реЗ, рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд┐рддрдирд╛ рд╕рд╛рдл рд╣реИред рдпрд╣рд╛рдБ рдПрдХ рдЪрд░ $L рдХреЛ \x1e рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реАрдорд╛рдВрдХрдХ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдХрд┐рд╕реА рднреА рдЪрд░ (рдХрд┐рд╕реА рднреА рджрд╛рдпрд░реЗ, рдХрд┐рд╕реА рднреА рд╡рд╕реНрддреБ рдХреА рд╕рдВрдЦреНрдпрд╛) рдкрд░ рдмрд┐рд▓реНрдХреБрд▓ рдХреЛрдИ рдкреНрд░рднрд╛рд╡ рдирд╣реАрдВ рдкрдбрд╝реЗрдЧрд╛ рдЬреЛ рдЖрдЬ рдордЫрд▓реА рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

set -S \x1e L $L

рдПрдХ рдФрд░ рдмрд╛рдд: --no-modify рддрд░реНрдХреЛрдВ рдХрд╛ рдкрд░рд┐рд╡рд╛рд░ рд╕рд┐рд░реНрдл рд╢реЙрд░реНрдЯрдХрдЯ рд╣реИрдВред рдпрд╣рд╛рдБ рдЙрдирдХреЗ рд╕рдордХрдХреНрд╖ рд╣реИрдВ:

| рд╢реЙрд░реНрдЯрдХрдЯ | рд╕рдордХрдХреНрд╖ |
| --- | --- |
| set [other args] --no-modify L | set [other args] L $L |
| set [other args] --prepend L $TOADD... | set [other args] L $TOADD... $L |
| set [other args] --append L $TOADD... | set [other args] L $L $TOADD... |

(рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рдЕрдм рдЗрд╕реЗ рд╕рдордЭрд╛рддреЗ рд╣реБрдП рдПрдХ рдмреЗрд╣рддрд░ рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВред) рдЗрд╕ рдмрд╛рдд рдкрд░ рдЬреЛрд░ рджреЗрдХрд░ рдХрд┐ рдпреЗ рддреАрди рддрд░реНрдХ рдХрд┐рддрдиреЗ "рдЧреВрдВрдЧрд╛" рд╣реИрдВ, рдХреБрдЫ рд╕рд╡рд╛рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рдЙрдирдХреА рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдХреЛрдИ рдпрд╣ рдмрддрд╛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдордЫрд▓реА рдореЗрдВ рдСрд░реНрдереЛрдЧреЛрдиреИрд▓рд┐рдЯреА рдХрд╛ рдПрдХ рдбрд┐рдЬрд╛рдЗрди рд╕рд┐рджреНрдзрд╛рдВрдд рд╣реИ ред рдЬрдм рд╕рднреА рдЪреАрдЬреЗрдВ рдУрд░реНрдереЛрдЧреЛрдирд▓ рд╣реЛрддреА рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрд┐рд╕реА рднреА рдмрдбрд╝реЗ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЬреЛ рдЖрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЙрд╕ рдХрд╛рд░реНрдп рдХреЛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЪреБрдирдирд╛ рд╣реИ - рдЗрд╕реЗ рдХрд░рдиреЗ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рд╕рд╣реА рддрд░реАрдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣рд╛рдВ, рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕реВрдЪреА рдореЗрдВ рд╕рдВрд╢реЛрдзрди рдХреЛ рдЬреЛрдбрд╝рдиреЗ/рдЬреЛрдбрд╝рдиреЗ/рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рдордХрдХреНрд╖реЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд╡рд░реНрдмреЛрдЬрд╝ рд╣реИрдВ; рд╡реЗ рд╕рдВрд╢реЛрдзрд┐рдд рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд╕рд╣реА рддрд░реАрдХреЗ рдирд╣реАрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реНрд╡рдпрдВ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдЖрдк рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рд╕реВрдЪреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ рд╕реЛрдЪрддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рд╢рд╛рдпрдж рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ " $TOADD рдХреЛ $L рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ" рдХреЗ рдмрдЬрд╛рдп " $L рд╕реЗ $L $TOADD " рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВред

рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдпрд╣ рдореЗрд░реЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдареЛрд╕ рдорд╛рдорд▓рд╛ рдмрдирд╛рддрд╛ рд╣реИред (рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдореЗрд░реЗ рд▓рд┐рдП рдЪреАрдЬреЛрдВ рдХреЛ рдЧрд▓рдд рд╕рдордЭрдирд╛ рдмрд╣реБрдд рдЖрдо рд╣реИ рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рд╕рд╣реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрд╡рддрдВрддреНрд░ рдорд╣рд╕реВрд╕ рдХрд░реЗрдВред)

@szhu рдореБрдЭреЗ рдЗрд╕ рдмрд╛рдд рдХреА рдкреВрд░реА рдЬрд╛рдирдХрд╛рд░реА рд╣реИ рдХрд┐ рдордЫрд▓реА рдХреЗ рд╕рднреА рд╕рдВрд╕реНрдХрд░рдг рд╢реВрдиреНрдп, рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдорд╛рдиреЛрдВ рдХреА рд╕реВрдЪрд┐рдпрд╛рдБ рд╣реИрдВред рдЖрдкрдиреЗ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдореЗрд░реА рдкрд┐рдЫрд▓реА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдирд╣реАрдВ рдкрдврд╝рд╛, рдЬрд╣рд╛рдВ рдореИрдВ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдХрд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╕рдВрдмрдВрдзрд┐рдд рд╕реАрдорд╛рдВрдХрдХ рдХреЛ рдЖрдВрддрд░рд┐рдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдХреИрд╕реЗ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ (рд╕реАрдорд╛рдВрдХрдХ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛) рдкрд░ рдХрд╛рдпрдо рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЖрдкрдиреЗ рдореЗрд░реЗ рдкрд┐рдЫрд▓реЗ рдмрд┐рдВрджреБрдУрдВ рдХреЛ рднреА рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ред рдЕрдкрдиреЗ рдЕрдВрддрд┐рдо рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

set -S \x1e L $L

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

рдЕрдВрддрддрдГ рд╕реНрдерд╛рдкрд┐рдд рдбрд┐рдЬрд╛рдЗрдирд░ рдФрд░ рдЕрдиреБрд░рдХреНрд╖рдХ рдпрд╣ рддрдп рдХрд░реЗрдВрдЧреЗ рдХрд┐ рдЖрдкрдХреЗ --no-modify рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкрд░рд┐рд╡рд╛рд░ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдпрд╛ рдирд╣реАрдВ, рд▓реЗрдХрд┐рди рдореИрдВ рд╡реЛрдЯ рдирд╣реАрдВ рджреЗрддрд╛ рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдЕрдкрдиреА рд▓рд╛рдЧрдд рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдореЗрд░реА рд░рд╛рдп рдореЗрдВ рдкрд░реНрдпрд╛рдкреНрдд рдореВрд▓реНрдп рдирд╣реАрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред

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


1. рдХреНрдпрд╛ $L рдореЗрдВ set -S \x1e L $L $ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ?

set рдХрд╛ рдореМрдЬреВрджрд╛ рд╡реНрдпрд╡рд╣рд╛рд░ рдирд╣реАрдВ рдмрджрд▓реЗрдЧрд╛ред рд╡рд░реНрддрдорд╛рди рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рддрд╣рдд, set L $L L рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ рдФрд░ set L L рдХреЛ рдПрдХ рдЦрд╛рд▓реА рд╕реВрдЪреА рдмрдирд╛рддрд╛ рд╣реИред set -S \x1e L $L рдФрд░ set -S \x1e L рдХреЗ рд╕рд╛рде рднреАред

1.1 рдХреНрдпрд╛ рдХреЗрд╡рд▓ рд╕реАрдорд╛рдВрдХрдХ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП set -S \x1e L $L рдЕрддреНрдпрдзрд┐рдХ рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдкреНрд░рддреАрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ?

рдереЛрдбрд╝рд╛ред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╢реЙрд░реНрдЯрдХрдЯ рдХреЗ рд░реВрдк рдореЗрдВ --no-modify рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред

рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдпрд╣ рд╢реЙрд░реНрдЯрдХрдЯ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рддреЛ рдореЗрд░реА рдпреЛрдЬрдирд╛ рд╡рд┐рдлрд▓ рдирд╣реАрдВ рд╣реЛрдЧреАред рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣рд░ рджрд┐рди рдЗрд╕ рдореБрджреНрджреЗ рд╕реЗ рдирд┐рдкрдЯрддреЗ рд╣реИрдВ рдЬрдм рд╣рдо рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ: set PATH ~/.bin $PATH ред рдЗрд╕рд▓рд┐рдП, рдЗрд╕реА рдХрд╛рд░рдг рд╕реЗ, рдореИрдВ --prepend рдФрд░ --append рдХрд╛ рднреА рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд░рддрд╛ рд╣реВрдВред

2. рд░реВрдкрд╛рдВрддрд░рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреИрд╕реЗ рд╣реЛрдЧреА?

рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░рд╛ рдкреБрд░рд╛рдирд╛ рд╕реАрдорд╛рдВрдХрдХ \x1e рд╣реИ рдФрд░ рд╣рдорд╛рд░рд╛ рдирдпрд╛ рд╣реИ : , рдФрд░ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдордЫрд▓реА рд╕реВрдЪреА рд╣реИ ["hello", "world"] ( hello\x1eworld рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛)ред рд░реВрдкрд╛рдВрддрд░рдг рдХрд░рдиреЗ рдХреЗ рджреЛ рдмреБрдирд┐рдпрд╛рджреА рддрд░реАрдХреЗ рд╣реИрдВ (" рд░реВрдкрд╛рдВрддрд░рдг рд╡рд┐рдХрд▓реНрдк "):

  1. ["hello", "world"] рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ ["hello", "world"] рдореЗрдВ рдмрджрд▓реЗрдВ ( hello,world рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛)
    рд▓рд╛рдн: рд╕реВрдЪреА рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред
  2. hello\x1eworld рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ ["hello\x1eworld"] рдореЗрдВ рдмрджрд▓реЗрдВ ( hello\x1eworld рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛)
    рд▓рд╛рдн: рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдореВрд▓реНрдп рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИред

рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдпрд╣ UI рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рд╕реЗ рд╣реИ, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрд░рд┐рдкреНрд░реЗрдХреНрд╖реНрдп рд╕реЗ рдирд╣реАрдВ; рд╣рдо рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИред рдореИрдВ рдЕрдЧрд▓реЗ рдкреНрд░рд╢реНрди рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдХрд╡рд░ рдХрд░реВрдВрдЧрд╛ред _рдиреЛрдЯ: рдпрд╣ рд╢реЗрд╖ рдЙрддреНрддрд░ рдирдИ рд╕рд╛рдордЧреНрд░реА рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВрдиреЗ рдКрдкрд░ рд╕рдВрдмреЛрдзрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд рд╣реИред рдзрдиреНрдпрд╡рд╛рдж!_

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

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

рд╡рд░реНрд░реЛрдВ рдХрд╛ рдЖрдпрд╛рдд рдкреНрд░рд╛рд░реВрдк рдмрджрд▓рдирд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдЬреИрд╕реЗ PATH рдХреЗ рд▓рд┐рдП рдЬреЛ рд╢реБрд░реВ рдореЗрдВ рдордЫрд▓реА рдХреЗ рдмрд╛рд╣рд░ рдмрдирд╛рдП рдЧрдП рд╣реИрдВ, рд╣рдореЗрдВ рдПрдХ рд╕реВрдЪреА рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рд╕реАрдорд╛рдВрдХрдХ рд╣реИ, рд╣рдореЗрдВ рдордЫрд▓реА рдХреЛ рдпрд╣ рдмрддрд╛рдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╡рд╣ рд╕реАрдорд╛рдВрдХрдХ рдХреНрдпрд╛ рд╣реИред рдЗрд╕рдХреЗ рд▓рд┐рдП рд╣рдо рд░реВрдкрд╛рдВрддрд░рдг рд╡рд┐рдХрд▓реНрдк 2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

2.1 рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?

рдордЫрд▓реА рднрд▓реЗ рд╣реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдпрд╣ рдЬрд╛рдирдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рди рд╣реЛ, рдордЫрд▓реА рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рддрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддреА рд╣реИред рдЪрд░ x рдХреЛ hello\x1eworld рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореЗрд░реЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХреЗ рддрд╣рдд, рдПрдХ рдФрд░ рдЪрд░ рд╣реЛрдЧрд╛, __fish_delimiter_x , рдЬреЛ рдЪрд░ рдХреЗ рд╕реАрдорд╛рдВрдХрдХ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ x ред рдпрд╣ рдЕрднреА рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реАрдорд╛рдВрдХрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ, \x1e ред

рд░реВрдкрд╛рдВрддрд░рдг рд╡рд┐рдХрд▓реНрдк 1 рдХреЗ рд▓рд┐рдП:

  1. рдкреБрд░рд╛рдиреЗ рд╕реАрдорд╛рдВрдХрдХ рдкрд░ рдЪрд░ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рднрд╛рд╖рд╛ (C++) рдореЗрдВ рдПрдХ рд╕рдЪреНрдЪреА рд╕реВрдЪреА рд╣реИред
  2. рдирдП рдбрд┐рд▓реАрдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реВрдЪреА рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдПрдХ рдирдИ рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╣реЛрдЧреАред
  3. рдирдП рд╕реАрдорд╛рдВрдХрдХ рдХреЛ __fish_delimiter_x рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред

рд░реВрдкрд╛рдВрддрд░рдг рд╡рд┐рдХрд▓реНрдк 1 рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕рдорд╛рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди:

  1. рдЪрд░ рдореЗрдВ, рдкреБрд░рд╛рдиреЗ рд╕реАрдорд╛рдВрдХрдХ рдХреА рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдирдП рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВред
  2. рдирдП рд╕реАрдорд╛рдВрдХрдХ рдХреЛ __fish_delimiter_x рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред

рд░реВрдкрд╛рдВрддрд░рдг рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП:

  1. рдирдП рд╕реАрдорд╛рдВрдХрдХ рдХреЛ __fish_delimiter_x рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВред

2.2 рдпрджрд┐ рд╣рдореЗрдВ рджреЛрдиреЛрдВ рд░реВрдкрд╛рдВрддрд░рдг рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреИрд╕реЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдЧрд╛ рдХрд┐ рдХрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИ?

рд╢рд╛рдпрдж рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреЛ рд╡рд┐рдХрд▓реНрдк рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ: рд╡рд┐рдХрд▓реНрдк 1 рдХреЗ -D рдпрд╛ --convert-delimiter рдФрд░ рд╡рд┐рдХрд▓реНрдк 2 рдХреЗ рд▓рд┐рдП -d рдпрд╛ --set-delimiter ред

2.3 рдХреНрдпрд╛ рд╣рдореЗрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рджреЛрдиреЛрдВ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ?

рд╡рд░реНрддрдорд╛рди рдордЫрд▓реА рдХреЗ рддрд╣рдд рд╣рдо рдпрд╣ рдорд╛рди рд▓реЗрдирд╛ рдЪреБрдирддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдордЫрд▓реА рдХреЗ рдмрд╛рд╣рд░ рдЬрдВрдЧрд▓реА рдореЗрдВ \x1e рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗред рдпрджрд┐ рд╣рдо рдЗрд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реАрдорд╛рдВрдХрдХ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдзрд╛рд░рдгрд╛ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рд░реВрдкрд╛рдВрддрд░рдг рд╡рд┐рдХрд▓реНрдк 1 рд╕реАрдорд╛рдВрдХрдХ рдХреЛ рдмрджрд▓рдиреЗ рдФрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдФрд░ рд╣рдореЗрдВ рд░реВрдкрд╛рдВрддрд░рдг рд╡рд┐рдХрд▓реНрдк 2 рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрдЧреА ред (рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд╢реНрд╡рд╕реНрдд рд╣реЛрдиреЗ рдХрд╛ рдПрдХ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдпрд╣ рдорд╣рд╕реВрд╕ рдХрд░рдирд╛ рд╣реИ рдХрд┐ рдпрджрд┐ рдзрд╛рд░рдгрд╛ рд╕рддреНрдп рд╣реИ, рддреЛ рдмрд╛рд╣рд░реА рд░реВрдк рд╕реЗ рдмрдирд╛рдИ рдЧрдИ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╕рдордп, рд░реВрдкрд╛рдВрддрд░рдг рд╡рд┐рдХрд▓реНрдк 1 рдХрд╛ рдЪрд░рдг "рдкреБрд░рд╛рдиреЗ рд╕реАрдорд╛рдВрдХрдХ рдХреА рд╕рднреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдирдП рдХреЗ рд╕рд╛рде рдмрджрд▓реЗрдВ" рдХреБрдЫ рднреА рдирд╣реАрдВ рдХрд░реЗрдЧрд╛, рд╕рдВрдкреВрд░реНрдг рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рдХрдо рдХрд░реЗрдЧрд╛ рд░реВрдкрд╛рдВрддрд░рдг рд╡рд┐рдХрд▓реНрдк 2.)


@ridiculousfish , рдореИрдВ рдЗрд╕ рдкрд░ рднреА рдЖрдкрдХреА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХрд░рддрд╛ рд╣реВрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ UI рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВред рдзрдиреНрдпрд╡рд╛рдж!

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рджреЛ рдореБрджреНрджреЗ рд╣реИрдВред рдЖрдЗрдП рдкрд╣рд▓реЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВ?

рд╕рд╣реА рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП +1

рдХреНрдпрд╛ рд╡рд╣ рд╡рд┐рднрд╛рдЬрдХ рдЪрд╛рд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдордЫрд▓реА рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ? рдкрд┐рдВрдЧ #627

рд╕рдорд╕реНрдпрд╛ # 2106 рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдлрд┐рдХреНрд╕ рдХреЗ рдкреНрд░рдХрд╛рд╢ рдореЗрдВ рдЗрд╕реЗ рдлрд┐рд░ рд╕реЗ рджреЗрдЦрдирд╛, рдЬрд┐рд╕рдореЗрдВ рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ рдЪрд░ рдорд╛рдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЛ рд╕рд░рдгрд┐рдпреЛрдВ рдореЗрдВ рдмрджрд▓рдиреЗ рдХреЗ рджреЛ рдЕрд╕рдВрдЧрдд рддрд░реАрдХреЗ рдереЗред рдЬрд┐рдирдореЗрдВ рд╕реЗ рдПрдХ рдиреЗ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдЦрд╛рд▓реА рддрддреНрд╡реЛрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ред рдореБрдЦреНрдп рдореБрджреНрджрд╛ рдпрд╣ рд╣реИ рдХрд┐ class env_var_t wcstring рдХреЗ рд╡реЗрдХреНрдЯрд░ рдХреЗ рдмрдЬрд╛рдп wcstring рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдкреНрд░рдпрд╛рд╕ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рдмрд╣рд╕ рдХреЗ рд▓рд┐рдП рдЦреБрд▓рд╛ рд╣реИред

рдпрджрд┐ рдЖрдк рдЗрд╕ рдореБрджреНрджреЗ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░ рд░рд╣реЗ рд╣реИрдВ рддреЛ рдореИрдВ рдЖрдкрдХреЛ рдкреАрдЖрд░ #4082 рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рдиреЗ рдФрд░ рд╢рд╛рдпрдж рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдЗрд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рддрдп рдХрд┐рдпрд╛ рд╣реИ рдХрд┐ zsh рдореЗрдВ рд╕рдорд╛рди рдирд╛рдо рд╕реЗ рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд╕рдорд╛рди "рдмрдВрдзреЗ" рдЪрд░ рд╣реИрдВред

рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрди рдХреЙрд▓реЛрди-рдирд┐рд░реНрдпрд╛рдд рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рдЖрд╕-рдкрд╛рд╕ рдХреЗ рдкреНрд░рд╢реНрди рдФрд░ рдЗрд╕ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдореЗрдВ рдХреМрди рд╕реЗ envvars рд╢рд╛рдорд┐рд▓ рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП, рдпрд╣ рдЕрднреА рддрдХ рдЕрдирд┐рд╢реНрдЪрд┐рдд рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд░реНрддрдорд╛рди рд╕реНрдерд┐рддрд┐ рдХреНрдпрд╛ рд╣реИ? рдХреНрдпрд╛ рд╣рдо рдЗрд╕ рд╡рд┐рд╖рдп рдХреЗ рдЕрдВрддрд┐рдо рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╢рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдЖрдЬ рд╣реА, рдореИрдВ рдлрд┐рд░ рд╕реЗ рдЗрд╕ рдЬрд╛рд▓ рдореЗрдВ рдлрдВрд╕ рдЧрдпрд╛ рдХрд┐ LD_LIBRARY_PATH рд╢реНрд╡реЗрддрд╕реВрдЪреА рдореЗрдВ рдирд╣реАрдВ рд╣реИ...

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ: рдпреВрдирд┐рдХреНрд╕ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рддрд╛рд░ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╕рд░рдгреА-рдЬреИрд╕реЗ рдПрдирд╡реА рд╡рд░реНрд░реНрд╕ рдХреЛ рдПрдХ рдбрд┐рд▓реАрдореАрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдзрд┐рдХрд╛рдВрд╢ рдХреЙрд▓рди ($PATH) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ; рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рднреА ($ рдХрдо) рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рд╣рдо рдЖрдпрд╛рдд/рдирд┐рд░реНрдпрд╛рдд (рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдордЫрд▓реА) рдкрд░ рд╕рднреА рд╕рд░рдгреА рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ; рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХреБрдЫ рдлреНрд▓реИрдЯ рдЪрд░ рдореЗрдВ рдХреЛрд▓рди рд╣реЛрддреЗ рд╣реИрдВ ($DISPLAY, $SSH_CONNECTION)ред

рд▓рдХреНрд╖реНрдп рдордЫрд▓реА рдХреЗ рд╕рд░рдгреА рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╕реАрдорд╛рдВрдХрд┐рдд рдЪрд░ рдХреЛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ рд╣реИред @szhu рдиреЗ рдПрдХ рд╕реАрдорд╛рдВрдХрдХ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП set рдмрдврд╝рд╛рдиреЗ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛, рд▓реЗрдХрд┐рди IMO set рдХреЛ рдмрдврд╝рд╛рдирд╛ рдЗрд╕реЗ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧрд▓рдд рдЬрдЧрд╣ рд╣реИ:

  • рд╡реЗрд░рд┐рдПрдмрд▓ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдФрд░ рдЙрд╕рдХреЗ рдбрд┐рд▓реАрдореАрдЯрд░ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рдмреАрдЪ рдХрд╖реНрдЯрдкреНрд░рдж рдмрд╛рддрдЪреАрдд ( --no-modify рдкреНрд░реЗрд░рд┐рдд рдХрд░рдирд╛)ред
  • рдкрд░рд┐рд╕реАрдордирдХрд░реНрддрд╛ рдЪрд░ рджрд╛рдпрд░реЗ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдЗрдВрдЯрд░реИрдХреНрдЯ рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд╕рд╡рд╛рд▓ред
  • рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рдЪрд░ рдХреЗ рдЖрд╕рдкрд╛рд╕ рдХреА рд╕рдорд╕реНрдпрд╛рдПрдВред рд╣рдореЗрдВ uvars рдХреЛ рд╕реАрдорд╛рдВрдХрдХ рдХреЛ рдпрд╛рдж рд░рдЦрдирд╛ рд╕рд┐рдЦрд╛рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рд╕рд╛рде рд╣реА рд▓рдЧрднрдЧ --no-modify рдХреНрдпреЛрдВрдХрд┐ uvars рдХреЗ рд╕рд╛рде рдЗрд╕рдХреЗ рд╡рд░реНрддрдорд╛рди рдорд╛рди рдкрд░ рдПрдХ рдЪрд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред

рд╕рдореАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдкрд░ рдореИрдВ @faho рдХреЗ splitenv рд╡рд┐рдЪрд╛рд░ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реВрдВред splitenv name рдореМрдЬреВрджрд╛ рдЪрд░ рдХреЛ рдХреЛрд▓рди рдкрд░ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдЧрд╛, рдмрд╕ред рдпрд╣ рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ рд╕рд░рд▓ рд╣реИред рд╡реЗ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕ рдЬреЛ рдХреЛрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ рд╡реЗ рдЗрддрдиреЗ рджреБрд░реНрд▓рдн рд╣реИрдВ рдХрд┐ рд╣рдореЗрдВ рдЙрдирдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╕рдорд░реНрдерди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдордЫрд▓реА рдирд┐рд░реНрдпрд╛рдд рдХреА рдЧрдИ рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдХреЛрд▓рди-рд╕реАрдорд╛рдВрдХрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдлрд┐рд░ рд╕реЗ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛; рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рджреБрд░реНрд▓рдн рд╣реЛрдЧрд╛ред

рдпрджрд┐ рд╣рдо рдЗрд╕рд╕реЗ рдмрдЪ рд╕рдХрддреЗ рд╣реИрдВ рддреЛ рд╣рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдкрд░ рдпрд╣ splitenv рдЬрдЯрд┐рд▓рддрд╛ рдирд╣реАрдВ рдбрд╛рд▓рдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдПрдХ рдХрджрдо рдЖрдЧреЗ рдЬрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдФрд░ рд╕рднреА рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдмреГрд╣рджрд╛рдиреНрддреНрд░ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдЬрд┐рдирдХрд╛ рдирд╛рдо PATH рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ , рдЬреИрд╕реЗ LD_LIBRARY_PATH, PYTHONPATH, рдЖрджрд┐ред рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ рдпрд╣ рд▓рдЧрднрдЧ рд╣рд░ рд╕рдордп рд╕рд╣реА рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП; рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд╛рдЯреЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдИ рднреА рд╡реНрдпрдХреНрддрд┐ рдореВрд▓реНрдп рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП string join рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

рддреЛ рдореИрдВ рдХреНрдпрд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реВрдВ (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдлрд╛рд╣реЛ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡):

  • рдХреЛрд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рд╕рд░рдгрд┐рдпреЛрдВ рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗрдВ; рдХреЛрдИ рдФрд░ ASCII рд░рд┐рдХреЙрд░реНрдб рд╡рд┐рднрд╛рдЬрдХ рдирд╣реАрдВред
  • рдПрдХ splitenv рдлрд╝рдВрдХреНрд╢рди рд▓рд╛рдЧреВ рдХрд░реЗрдВ рдЬреЛ рдХреЛрд▓рди рдкрд░ рдПрдХ рдЪрд░ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕реЗ рдордЫрд▓реА рд▓рд┐рдкрд┐ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
  • рдХреЛрд▓рди рд╕реЗ рдЕрд▓рдЧ рдХреА рдЧрдИ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдХреЛ PATH рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рдЪрд░реЛрдВ рддрдХ рдмрдврд╝рд╛рдПрдВред

рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдпрд╣ рдХрдо рд╕реЗ рдХрдо рдФрд░ рд╕рдВрдЧрдд рддрд░реАрдХреЗ рд╕реЗ рдХреЛрд▓рди-рд╕реАрдорд╛рдВрдХрд┐рдд рд╕рд░рдгреА рд╕реЗ рдЬреБрдбрд╝реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рджрд░реНрдж рдХреЛ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░реЗрдЧрд╛ред

рд╕реНрдкреНрд▓рд┐рдЯреЗрдВрд╡ рд╡рд┐рдЪрд╛рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ:

рдорд╛рди рд▓реЗрдВ рдХрд┐ рдореИрдВ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдордЫрд▓реА рдПрдХ рдРрд╕реА рд╕реВрдЪреА рдХрд╛ рдирд┐рд░реНрдпрд╛рдд рдХрд░реЗ рдЬрд┐рд╕рдХреЗ рдЖрдЗрдЯрдо рдореЗрдВ рдХреЛрд▓рди рд╣реЛрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: ["item1", "item:2"] ред (рдореБрдЭреЗ рдирд╣реАрдВ рд▓рдЧрддрд╛ рдХрд┐ рдпрд╣ рдПрдХ рджреБрд░реНрд▓рдн рдШрдЯрдирд╛ рд╣реИ, рдЦрд╛рд╕рдХрд░ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдирдкреБрдЯ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд░рдгреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред)

рдХреНрдпрд╛ рд╕реВрдЪреА рдХреЛ item1:item:2 рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛? рдпрджрд┐ рдРрд╕рд╛ рд╣реИ, рддреЛ рдирд┐рд░реНрдпрд╛рдд рдХреЗ рдмрд╛рдж рдореВрд▓ рд╕реВрдЪреА рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдирд╛ рдЕрд╕рдВрднрд╡ рд╣реЛрдЧрд╛ред

рд╕рд╛рде рд╣реА, рдЪрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рд╢реНрд╡реЗрддрд╕реВрдЪреА рдХрд╛ рд╣реЛрдирд╛ рдЧрд▓рдд рд▓рдЧрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╢реНрд╡реЗрддрд╕реВрдЪреА рдХрд╛ *?PATH рд╣реЛрдирд╛ рдХрдо рдЧрд▓рдд рд▓рдЧрддрд╛ рд╣реИред (рдпрд╣ рдПрдХ рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реАрдорд╛рдВрдХрдХ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рдореЗрд░реЗ рдкреНрд░рд╕реНрддрд╛рд╡ рдХрд╛ рдПрдХ рдФрд░ рдХрд╛рд░рдг рдерд╛ - рд╢реНрд╡реЗрддрд╕реВрдЪреА рдХреЛ рдПрдХ рдЪрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред)

@szhu рддреБрдо рд╕рд╣реА рд╣реЛред Exported-lists-can't-contain-colons рдПрдХ рдРрд╕реА рд╕рдорд╕реНрдпрд╛ рд╣реИ рдЬрд┐рд╕рд╕реЗ рдпреВрдирд┐рдХреНрд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкреАрдбрд╝рд┐рдд рд╣реИ :

рддрдм рд╕реЗ \

рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдордЫрд▓реА рдХреЗ рд▓рд┐рдП рд╕рдорд╛рди рд╕реАрдорд╛ (рдХреЗрд╡рд▓ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рдЪрд░ рдХреЗ рд▓рд┐рдП) рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдмреБрд░рд╛ рдирд╣реАрдВ рд▓рдЧрддрд╛ред

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

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

рдпрд╣рд╛рдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬреЛ рдХреЗрд╡рд▓ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

set -x TEST color:red 
set -x TEST2 color:red font:serif
set -x TEST_PATH color:red 
set -x TEST2_PATH color:red font:serif
exec fish
echo $TEST #=> color:red
echo $TEST2 #=> color:red:font:serif
echo $TEST_PATH #=> color red 
echo $TEST2_PATH #=> color red font serif

рдореИрдВ рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЙрдкрд░реЛрдХреНрдд рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж рдмрд╣реБрдд рд╕реЗ рдирдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рднреНрд░рдорд┐рдд рд╣реЛ рд░рд╣реЗ рд╣реИрдВред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛рдлреА рдЕрдзрд┐рдХ рд╕реБрдЦрдж рд╣реЛрдЧрд╛:

set -x TEST color:red 
set -x TEST2 color:red font:serif
set -x TEST_PATH color:red 
set -x TEST2_PATH color:red font:serif
exec fish
echo $TEST # color:red
echo $TEST2 # color:red font:serif
echo $TEST_PATH #=> color:red 
echo $TEST2_PATH #=> color:red font:serif

рдореБрдЭреЗ рдЗрд╕ рдкрд░ рдЖрдкрдХреЗ рдФрд░ рд╕рдореБрджрд╛рдп рдХреЗ рд╡рд┐рдЪрд╛рд░ рдЪрд╛рд╣рд┐рдПред

рдореМрдЬреВрджрд╛ рдХреЛрд▓рди рд╕реЗ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдмрдЪрддреЗ? рдпрд╣ рднреЗрдж рдХреЛ рдмрдирд╛рдП рд░рдЦреЗрдЧрд╛ред

рднрд╛рдЧрдирд╛ рдореЗрд░реЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдЕрднреА рднреА рднреНрд░рдорд┐рдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рдЪрд░ рдПрдХ рд╕рд░рдгреА рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╛рдж рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛?

set -x TEST2 color:red font:serif
set -x TEST2_PATH color:red font:serif
exec fish
echo $TEST2 # color\:red:font\:serif
echo $TEST2_PATH #=> color:red font:serif

рд╣рд╛рдВред рдореЗрд░реА рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкрде рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд╣рд░ рдирд┐рд░реНрдпрд╛рдд рд╕рд░рдгрд┐рдпрд╛рдБ рдЖрдо рдирд╣реАрдВ рд╣реИрдВред

MANPATH рдХрд╛ рдбрдмрд▓ рдХреЛрд▓рди (::) рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЕрд░реНрде рд╣реИ - #2090 рджреЗрдЦреЗрдВ - рдХреНрдпрд╛ рдпрд╣ рдХрд╛рдо рдореЗрдВ рдПрдХ рд╕реНрдкреИрдирд░ рдлреЗрдВрдХрддрд╛ рд╣реИ?

рдореИрдВ рдпрд╣ рднреА рддрд░реНрдХ рджреВрдВрдЧрд╛ рдХрд┐ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рд╕рд╛рдЗрдбрдХрд╛рд░ рд╡реИрд░рд┐рдПрдмрд▓ FISH_ARRAY_VARIABLES=FOO\t:\nBAR\t;\nBAZ\t-\n рд╣реЛрдиреЗ рд╕реЗ рдордЫрд▓реА рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкрд░реЗрд╢рд╛рди рдХрд┐рдП рдмрд┐рдирд╛ рдФрд░ "рд╣рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдмрд┐рдирд╛ рд╕рд░рдгреА рдЪрд░ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдЪреНрдЫрд╛ рд╕рдВрдХреЗрдд рд╣реЛрдЧрд╛ рдордЫрд▓реА рдХреЛ рд╢рд╛рдорд┐рд▓ рдХрд░рдирд╛ рдЕрдм" рдЪреЗрдХрд░ ..

рдкреБрди: https://github.com/fish-shell/fish-shell/issues/436#issuecomment -392409659 @zanchey
рдореИрдВрдиреЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ #2090 рдирд╣реАрдВ рдкрдврд╝рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛрд╣реИ рдХрд┐ рдХреЛрд▓рди-рд╕реАрдорд╛рдВрдХрд┐рдд-рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рд╕рд░рдгреА рд░реВрдкреЛрдВ рдХреЗ рдмреАрдЪ рдХрдирд╡рд░реНрдЯ рдХрд░рдирд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирд┐рд░реНрдмрд╛рдз рд╣реИ (рд╕рд┐рд╡рд╛рдп рдЬрдм рдХреЛрд▓рди ~ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ ~ рд╕рд░рдгреА рдЖрдЗрдЯрдо рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ)ред

MANPATH рдореЗрдВ рдбрдмрд▓-рдХреЛрд▓рди рд╢рд╛рдорд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╕ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЬреЛрдбрд╝реЗрдВ рдЬрд╣рд╛рдВ рдбрдмрд▓ рдХреЛрд▓рди рджрд┐рдЦрд╛рдИ рджреЗ:

$ set -x MANPATH 1 2 '' 3
# Check if it's set
$ bash -c 'echo $MANPATH'
1:2::3

рдПрдХ рдХреЛрд▓рди рдХреЗ рд╕рд╛рде MANPATH рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╢реБрд░реБрдЖрдд рдореЗрдВ рдмрд╕ рдПрдХ рдЦрд╛рд▓реА рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЖрдЗрдЯрдо рдЬреЛрдбрд╝реЗрдВ:

$ set -x MANPATH '' 1 2 3
# Check if it's set
$ bash -c 'echo $MANPATH'
:1:2:3

рдореИрдВрдиреЗ рдпрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдХрд╛ рдкрд╛рд▓рди рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдореИрдВ "рдХреЛрдИ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдирд╣реАрдВ" рдХреА рд╡рдХрд╛рд▓рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ set -S рдФрд░ splitenv рд╡рд┐рдиреНрдпрд╛рд╕ рдХреЗ рд░реВрдк рд╣реИрдВред рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЙрдиреНрд╣реЗрдВ fish.config рдореЗрдВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ PYTHONPATH рдХреЛ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрднрд╛рд▓рддреЗ рд╣реИрдВред рдЕрдиреНрдп рд▓реЛрдЧ PYTHONPATH рдХреЛ рд╕рд┐рдВрдЧрд▓ рдХреЛрд▓рди-рд╕реАрдорд╛рдВрдХрд┐рдд рд╢рдмреНрдж рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рд╕рдВрднрд╛рд▓реЗрдВрдЧреЗред рдХреЙрдкреА-рдкреЗрд╕реНрдЯ рд╕реНрдЯреИрдХрдУрд╡рд░рдлреНрд▓реЛ рд╕рд▓рд╛рд╣ рдФрд░ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рджреВрд╕рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП PYTHONPATH рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рд╡рд╛рд▓реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдирд╛ рд╣рдореЗрд╢рд╛ рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ ...

рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд "рдпрджрд┐ рдпрд╣ PATH рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ " рдирд┐рдпрдо рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди-рдореБрдХреНрдд рд╣реИ рдФрд░ рдЬрд┐рддрдирд╛ рдЖрдк рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЙрддрдирд╛ рд╕рд╣реА рд▓рдЧрддрд╛ рд╣реИ: +1:
(рдЗрд╕ рдкрд░ рдореЗрд░реА рдХреЛрдИ рд░рд╛рдп рдирд╣реАрдВ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдпрд╣ рдкрд┐рдЫрдбрд╝реА рдЕрд╕рдВрдЧрддрд┐ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ)
рд╣рд╛рдВ, set -x TEST2_PATH color:red font:serif рдХреЛ color red font serif рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рдЖрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рд▓реЗрдХрд┐рди рдирд┐рд░реНрдпрд╛рдд рдЪрд░ рдХреЗ рд╕рд╛рде рдпрд╣ рд╕реМрджрд╛ рд╣реИред рдЖрдк рдпрд╣ рд╕рдордЭреЗ рдмрд┐рдирд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдПрдХ рд╕рд░рдгреА рдореЗрдВ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

рд╣рд╛рдВред рдореЗрд░реА рдкрд░рд┐рдХрд▓реНрдкрдирд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкрде рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рдмрд╛рд╣рд░ рдирд┐рд░реНрдпрд╛рдд рд╕рд░рдгрд┐рдпрд╛рдБ рдЖрдо рдирд╣реАрдВ рд╣реИрдВред

@ridiculousfish рдЬреЛ рд╡рд░реНрддрдорд╛рди рдЧреЛрд▓реЗ рдореЗрдВ рд╕рдЪ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдордЫрд▓реА рдЕрдзрд┐рдХ рдХрд░реНрд╖рдг рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдордЫрд▓реА рдХреА рдордЫрд▓реА рдХреЗ рдЧреЛрд▓реЗ рдХреЛ рд╕реВрдЪреА рднреЗрдЬрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред рдореИрдВ рдХрд▓реНрдкрдирд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдЕрдВрддрддрдГ рдРрд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо/рдкреНрд▓рдЧрдЗрдиреНрд╕ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдордЫрд▓реА рд╕рддреНрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдХрд░рддреЗ рд╣реИрдВ (рдореИрдВ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдВрдЪ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╕рдЪ рд╣реИ рдпрд╛ рдирд╣реАрдВ), рдФрд░ рд╕рд╛рд░реНрд╡рднреМрдорд┐рдХ рд░реВрдк рд╕реЗ рдСрдЯреЛ-рдбреА/рдХреНрд░рдордмрджреНрдз рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдиреЗ рдХреЗ рдирд╛рддреЗ рдЙрд╕ рдХреЛрдб рдХреЛ рдФрд░ рдЕрдзрд┐рдХ рд╕рд╛рдл рдФрд░ рдХрдо рд╡рд░реНрдХрдЕрд░рд╛рдЙрдВрдб-рд╡рд╛рдИ рдмрдирд╛ рджреЗрдЧрд╛ред


рд╕рдорд╛рди рд▓реЗрдХрд┐рди рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рд╡рд┐рдЪрд╛рд░: PATH рдХреЛ рд╡рд┐рд╢реЗрд╖ рдорд╛рдорд▓реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирдирд╛ тАЛтАЛрдПрдХ рдХрд╛рд▓рд╛рдиреБрдХреНрд░рдорд┐рдХ рдмрдврд╝рдд рдХрд╛ рдорд╛рдорд▓рд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╢рд╛рдпрдж рддрднреА рд╕рдордЭрддреЗ рд╣реИрдВ рдЬрдм рдЙрдирдХреЗ рдкрд╛рд╕ рдЧреЛрд▓реЗ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХрд╛ рдЗрддрд┐рд╣рд╛рд╕ рд╣реЛред рдпрд╣ рдордЫрд▓реА рдХреА рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдХреБрдЫ рд╕рдВрднрд╛рд╡рд┐рдд рднрд╡рд┐рд╖реНрдп рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдорд╛рдорд▓реЛрдВ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИред

@ridiculousfish рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдорд╛рдзрд╛рди рдкреНрд░рддреНрдпреЗрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░/рд╕рд░рдгреА рдХреЛ рдЕрдкрдиреЗ рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ рд╣реИ (рдФрд░ рдЖрдк '\x1e' рдпрд╛ ' ' рдпрд╛ ':' рдХреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ), рдФрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдмрдирд╛рдиреЗ рд╡рд╛рд▓рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдВрдШрд░реНрд╖реЛрдВ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рд╡рд┐рднрд╛рдЬрдХ рдЪреБрдирдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рдЖрджреЗрд╢ рдЗрд╕ рддрд░рд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: set --separator ':' TMP 1 2 3 ред рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЙрди рдкреНрд░рд╕рд┐рджреНрдз рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЗ рд▓рд┐рдП, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗрд╡рд▓ рд╕рдВрдмрдВрдзрд┐рдд рдкреНрд░рд╕рд┐рджреНрдз рд╡рд┐рднрд╛рдЬрдХ рдЪреБрди рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдиреНрдп рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рджреНрд╡рд╛рд░рд╛ рднреА рдкрд╣рдЪрд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдордЫрд▓реА рдХреЛ рдЕрдзрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ (рдЬреИрд╕реЗ рдкрд╛рдпрдерди) рдХреЗ рд╕рд╛рде рдЕрдзрд┐рдХ рд╕рдВрдЧрдд рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ рдХреЗрд╡рд▓ рд╣рд╛рд▓ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВ, рдмрд╕ рдПрдХ рдиреЛрдЯ рд╣реИ рдХрд┐ @thuzf рдХреА set --separator рдЕрдиреБрд╢рдВрд╕рд╛ рд╡рд╣реА рд╣реИ рдЬреЛ set -S рдЕрдиреБрд╢рдВрд╕рд╛ рдЗрд╕ рдкреВрд░реЗ рдереНрд░реЗрдб рдореЗрдВ рдмрд╛рд░-рдмрд╛рд░ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╣реИред рдЙрд╕ рдЪрд░реНрдЪрд╛ рдкрд░ рдЕрдзрд┐рдХ рд╕рдВрджрд░реНрдн рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдЗрд╕ рдкреГрд╖реНрда рдХреЛ set -S рдХреЗ рд▓рд┐рдП grep рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

@szhu рдкрд┐рдЫрд▓реЗ set -S рдкрд░ рдзреНрдпрд╛рди рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╖рдорд╛ рдХрд░реЗрдВред рдореВрд▓ рд░реВрдк рд╕реЗ рдореИрдВ рднреА рдпрд╣реА рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдореИрдВрдиреЗ рдпрд╣ рднреА рджреЗрдЦрд╛ рдХрд┐ рдЗрд╕ рдирдП рд╡рд┐рдХрд▓реНрдк рдкрд░ рдЕрдиреНрдп рд▓реЛрдЧреЛрдВ рдХреА рдХрдИ рдЪрд┐рдВрддрд╛рдПрдБ рдереАрдВред рдореИрдВ рдиреАрдЪреЗ рдЗрди рдЪрд┐рдВрддрд╛рдУрдВ рдкрд░ рдЕрдкрдиреЗ рд╡рд┐рдЪрд╛рд░ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ (рдЪреВрдВрдХрд┐ рдордЫрд▓реА рдХреЗ рд╕реЗрдЯ рдиреЗ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ -s рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдореИрдВ рдЗрд╕рдХреЗ рдмрд╛рдж --separator -s рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛):

  1. --no-modify рдХреБрдЫ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╣рд╛рдВ, рдФрд░ рдЖрдкрдХреЛ рдирд╛рдо рдХреЛ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрджрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, --change-separator ред
  2. рдХреБрдЫ рдХреЛрдиреЗ/рдореБрд╢реНрдХрд┐рд▓ рдорд╛рдорд▓реЗ рд╣реИрдВред рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рдХрд╛рд░рдг рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЕрдЧрд░ рд╣рдо рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рд╕рдЦреНрдд рдкрд░рд┐рднрд╛рд╖рд╛ рджреЗрддреЗ рд╣реИрдВ рддреЛ рдЗрд╕реЗ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдЯрд╛рд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:

    1. рдореВрд▓ рд╡рд┐рдЪрд╛рд░: рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛрдиреЗ рдкрд░ рдкреНрд░рддреНрдпреЗрдХ var (рд╕реВрдЪреА) рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╡рд┐рднрд╛рдЬрдХ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ ' ' рд╣реИ)ред рдЗрд╕ рд╡рд┐рднрд╛рдЬрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рддрдм рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдпрд╣ var рд╕реНрдЯреНрд░рд┐рдВрдЧ рд╕реЗ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЬрдм рдЗрд╕реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрд╣ рдХреБрдЫ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╡рд┐рдЪрд╛рд░ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдкрд╛рдпрдерди рдХрд╛ join() рдлрд╝рдВрдХреНрд╢рди)ред рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЬрд╛рдиреЗ рдкрд░ рдпрд╛ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдРрд╕рд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реИ рддреЛ рдПрдХ var рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

    2. рдПрдирд╡реА рд╡рд░реНрд░реНрд╕ рдХреИрд╕реЗ рдмрдирд╛рдПрдВ



      1. set ENV_VAR a b c ред рдмрд┐рдирд╛ -s , рд╣рдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рднрд╛рдЬрдХ рдХреЗ рд░реВрдк рдореЗрдВ ' ' рдЪреБрдирддреЗ рд╣реИрдВред


      2. set -s ':' ENV_VAR ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, ENV_VAR рдПрдХ рдЦрд╛рд▓реА рд╕реВрдЪреА рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рд╣реИред


      3. set -s ':' ENV_VAR a b:c d e:f ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕ рдХреЛрдб рдХреЛ рд▓рд┐рдЦрдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рд╕рдордЭрдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ ':' рд╡рд┐рднрд╛рдЬрдХ рд╣реИ рдФрд░ рд╕рдордЭрддреЗ рд╣реИрдВ рдХрд┐ ENV_VAR ['a b', 'c d e', 'f'] рдХреА рддрд░рд╣ рдПрдХ рд╕рд░рдгреА рд╣реЛрдЧреА рдФрд░ рдЗрд╕реЗ 'a b:c d e:f' рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ ENV_VAR рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╕реЗ рд╢реБрд░реВ рд╣реЛ рдФрд░ рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛ? рдЖрдкрдХреЛ рдПрд╕реНрдХреЗрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреИрд╕реЗ: set -s ':' ENV_VAR \ a b:c d e:f\ ред рдлрд┐рд░ ENV_VAR [' a b', 'c d e', 'f '] рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ ' a b:c d e:f ' рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред


      4. set -s ':' ENV_VAR a b:c d e:f $ENV_VAR ред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ $ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЗрд╕реЗ рд╕реВрдЪреА рдХреЗ рдмрдЬрд╛рдп ENV_VAR рдХреЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрдорд╛рдВрдб $ENV_VAR рдХреЛ рдиреАрдЪреЗ рдХреА рд╕реВрдЪреА рд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╕реНрдЯреНрд░рд┐рдВрдЧ рдорд╛рди рдХреЗ рд╕рд╛рде рдмрджрд▓рдиреЗ рдЬреИрд╕рд╛ рд╣реА рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, set -s ':' ENV_VAR a b:c d e:f:$ENV_VAR рд╣реИ рд╢рд╛рдпрдж рдЖрдк рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХреНрдпрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (f рдХреЗ рдмрд╛рдж f : рдиреЛрдЯрд┐рд╕ рдХрд░реЗрдВ); рдпрджрд┐ рдЗрд╕реЗ ENV_VAR (рдЬреЛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рдмрдЬрд╛рдп рдПрдХ рд╕реВрдЪреА рд╣реИ) рдХреЗ рдЪрд░ рдХреЛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдкрд╛рдЗрдерди рдХреА рддрд░рд╣ рд╣реА рдПрдХ рд╕реВрдЪреА рд╡рд┐рд╕реНрддрд╛рд░ рдСрдкрд░реЗрд╢рди рдмрди рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╛рдж рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрджрд┐ ENV_VAR ['x', 'y'] рд╣реИ, рддреЛ рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рдмрд╛рдж ENV_VAR ['a b', 'c d e', 'f', 'x', 'y'] рдмрди рдЬрд╛рдПрдЧрд╛ред рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ ENV_VAR рдХрд╛ рдкрд┐рдЫрд▓рд╛ рд╡рд┐рднрд╛рдЬрдХ ':' рдирд╣реАрдВ рд╣реИ? рдкрд╣рд▓реЗ рд╡рд╛рд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЖрдкрдХреА рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░реА рд╣реИ рдХрд┐ рдЖрдк рд╕рд╣реА рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдореВрд▓ рд╡рд┐рднрд╛рдЬрдХ рдХреЛ ':' рдореЗрдВ рдмрджрд▓рдХрд░ рдпрд╛ рд╡рд░реНрддрдорд╛рди рд╡рд┐рднрд╛рдЬрдХ рдХреЛ рдореВрд▓ рд╡рд┐рднрд╛рдЬрдХ рдореЗрдВ рдмрджрд▓рдХрд░ рд╕рдВрдЧрдд рд╡рд┐рднрд╛рдЬрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдмрд╛рдж рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдЗрд╕ рд╕рд░рдгреА рдХреЗ рд╡рд┐рднрд╛рдЬрдХ рдХреЛ рдореВрд▓ рдПрдХ (рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛) рд╕реЗ ':' рдкрд░ рд╕реЗрдЯ рдХрд░ рджреЗрдЧрд╛ред



    3. рд╡рд┐рднрд╛рдЬрдХ рдХреИрд╕реЗ рдмрджрд▓реЗрдВ



      1. set --change-separator ':' ENV_VAR ред рдпрджрд┐ ENV_VAR рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ 0 рдХреЗ рдЕрд▓рд╛рд╡рд╛ рддреНрд░реБрдЯрд┐ рдХреЛрдб рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рдирд┐рдХрд▓рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрд╛рдлреА рдЖрд╕рд╛рди рдФрд░ рд╕реНрдкрд╖реНрдЯред



    4. рд╡рд┐рднрд╛рдЬрдХ рдХреИрд╕реЗ рджреЗрдЦреЗрдВ



      1. set --view-separator ENV_VAR ред



рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдореБрдЭреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕реНрдкрд╖реНрдЯ рдФрд░ рдЬрд░реВрд░реА рд╣реИ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ рджрд░реНрдж рдмрд┐рдВрджреБ рд╣реИ рдФрд░ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЬрд▓реНрдж рд╕реЗ рдЬрд▓реНрдж рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрднрд╡ рдХреЛ рдмрд╣реБрдд рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдЕрдм рдордЫрд▓реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп (рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ рдмрд╣реБрдд рдЫреЛрдЯреА) рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рд╕рд╛рдордирд╛ рдирд╣реАрдВ рдХрд░рдирд╛ рдкрдбрд╝рд╛ рд╣реИ, рд╕рд┐рд╡рд╛рдп рдЗрд╕рдХреЗ рдХрд┐ рдпрд╣ рдЗрддрдирд╛ рдмрдбрд╝рд╛ рд╣реИред

рдореБрдЭреЗ рд╕рдЪ рдореЗрдВ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рд╕реНрдкрд╖реНрдЯ рдФрд░ рдЬрд░реВрд░реА рд╣реИ

@thuzhf : рдореИрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдЖрдк рдЗрд╕реЗ рдХрдо рдХрд░рдХреЗ рдЖрдВрдХ рд░рд╣реЗ рд╣реИрдВред

рдПрдХ рдХрд╛рд░рдг рдпрд╣ рд╣реИ рдХрд┐ #5169 рдореЗрдВ рдЖрдкрдХреА рд╕рдорд╕реНрдпрд╛ $LD_LIBRARY_PATH рдХреЗ рд╕рд╛рде рдереА, рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдордЫрд▓реА рдХреА рд╕реВрдЪреА рдирд╣реАрдВ рд╣реИ! рдЖрдкрдХреЛ рдЗрд╕реЗ рдЕрдиреНрдп рдЧреЛрд▓реЗ рдХреА рддрд░рд╣ рд╣реА рд╕реЗрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП set LD_LIBRARY_PATH "$LD_LIBRARY_PATH:/some/path" ред

рдордЫрд▓реА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рддреАрди рд╡рд┐рд░рд╛рд╕рдд/рдирд┐рд░реНрдпрд╛рдд рдЪрд░ рдХреЛ рд╕реВрдЪрд┐рдпреЛрдВ рдореЗрдВ рдмрджрд▓ рджреЗрддреА рд╣реИ:

$PATH, $MANPATH рдФрд░ $CDPATHред рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕ рд╕реВрдЪреА рдореЗрдВ рдирд┐рд░реНрдпрд╛рдд рд╣реЛрдиреЗ рдкрд░ ":" рд╡рд┐рднрд╛рдЬрдХ рд╣реЛрдЧрд╛ред

рдЕрдиреНрдп "рдорд╛рдирдХреАрдХреГрдд" рдЪрд░ рдЬреИрд╕реЗ $LD_LIBRARY_PATH рдХреЛ рдлрд┐рд╢рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рд╕реВрдЪрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЗ рдкрд╛рд╕ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИред рд╡реЗрд░рд┐рдПрдмрд▓ рдЬреЛ рдорд╛рдирдХреАрдХреГрдд рдирд╣реАрдВ рд╣реИрдВ, рдЖрдк рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛рдиреБрд╕рд╛рд░ рд╕рдВрднрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЙрдирдХреЗ рд╕рд╛рде рд╡реИрд╕реЗ рднреА рдХреБрдЫ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдЗрд╕рд▓рд┐рдП рд╡рд┐рднрд╛рдЬрдХ рдЧреИрд░-рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред

@faho рдЖрдкрдХреЗ рд╕реНрдкрд╖реНрдЯ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рдорд╛рдпрдиреЗ рд░рдЦрддрд╛ рд╣реИред рдареАрдХ рд╣реИ, рдореИрдВ рдХрд╣ рд╕рдХрддрд╛ рд╣реВрдБ рдХрд┐ рдпрд╣ рд╕рдорд╕реНрдпрд╛ рдореЗрд░реЗ рд▓рд┐рдП рд╣рд▓ рд╣реЛ рдЧрдИ рд╣реИред

рдореИрдВрдиреЗ #2090 рдореЗрдВ рд╡рд░реНрдгрд┐рдд MANPATH рдореБрджреНрджреЗ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓реАред рдкрд░рд┐рджреГрд╢реНрдп рдХреЛ рдореИрдирдкрде рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдкрде рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред

рдмреИрд╢ рдореЗрдВ рдЗрд╕реЗ export MANPATH="$MANPATH:/new/path" рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ MANPATH рд╕реЗрдЯ рд╣реИ, рддреЛ рдпрд╣ рдЗрд╕рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рдХреЛрд▓рди рдХреЛ рдЬреЛрдбрд╝ рджреЗрдЧрд╛, рдЬреЛ рд╕рд┐рд╕реНрдЯрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдирд╡-рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрдХреЗрдд рд╣реИред рдпрд╣ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдордЫрд▓реА рдореЗрдВ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ; рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ MANPATH рдПрдХ рд╕рд░рдгреА рд╣реИ рдФрд░ рдЗрд╕рд▓рд┐рдП "$MANPATH" рдореЗрдВ рдХреЛрд▓рди рдХреЗ рдмрдЬрд╛рдп рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд╣реЛрдВрдЧреЗред

рдПрдХ "рдмрдВрдзреЗ рд╣реБрдП рдЪрд░" рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╣рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП fish_manpath рдХреЛ рдПрдХ рд╕рд░рдгреА рдХреЗ рд░реВрдк рдореЗрдВ рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ рдЬреЛ MANPATH рдХреЛ рдХреЛрд▓рди рд╕реЗ рдЕрд▓рдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдордЫрд▓реА рд▓рд┐рдкрд┐ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рдо рдЗрд╕реЗ рд╕рднреА рдкрде-рд╕рдорд╛рди рдЪрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рди рдХрд┐ рдХреЗрд╡рд▓ MANPATH, рдФрд░ рдпрд╣ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕рдВрдЧрддрддрд╛ рд╡рд┐рд░рд╛рдо рд╣реЛрдЧрд╛ рдЬрд┐рд╕реЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдирд╛ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдЗрд╕рдореЗрдВ рднреА рд╡рд╣реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП manpath рд╕рд░рдгреА-рдЪрд░ zsh рдореЗрдВ рд╕рдВрд▓рдЧреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЬреАрдм рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпреЛрдВ рдореМрдЬреВрдж рд╣реИред

рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ MANPATH рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмреЗрд╣рддрд░ рдпрд╛ рдмрджрддрд░ рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИ; рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдкрдВрдЯ рд╣реИ рдФрд░ MANPATH рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдПрдХ рдЖрд╕рд╛рди рдХрд╣рд╛рдиреА рд╣реИ, рдЬреЛ рдпрд╣ рд╣реИ:

set -q MANPATH || set MANPATH ''
set -x MANPATH $MANPATH /new/path

config.fish рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдмрд╣реБрдд рджрд░реНрджрдирд╛рдХ рдирд╣реАрдВ рд╣реИред

рдпрд╣рд╛рдБ рдореЗрд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ MANPATH рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдмреЗрд╣рддрд░ рдпрд╛ рдмрджрддрд░ рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИ; рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХрд░рдиреЗ рдХреА рдмрд╛рдд рдкрдВрдЯ рд╣реИ рдФрд░ MANPATH рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдПрдХ рдЖрд╕рд╛рди рдХрд╣рд╛рдиреА рд╣реИ, рдЬреЛ рдпрд╣ рд╣реИ:

@ridiculousfish : рдореИрдВ рдПрдХ рдХрджрдо рдЖрдЧреЗ рдЬрд╛рдиреЗ рдХреА рд╕реЛрдЪ рд░рд╣рд╛ рд╣реВрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ: рдЗрди рд╡рд┐рд╢реЗрд╖ рдЪрд░ рдХреЛ ":" рдкрд░ рднреА рдЕрд╕рд╛рдЗрдирдореЗрдВрдЯ рдкрд░ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЙрджреНрдзреГрдд рд╡рд┐рд╕реНрддрд╛рд░ рдореЗрдВ рд╕реНрдерд╛рди рдХреЗ рдмрдЬрд╛рдп ":" рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗрдВред

рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдЬрдм рдЖрдк set -gx MANPATH "$MANPATH:/new/path" рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдордЫрд▓реА рдЬрд╛рддреА рд╣реИ рдФрд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╡рд┐рднрд╛рдЬрди рдХрд░рддреА рд╣реИ, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк set -gx MANPATH "" /new/path рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрддрд╛ рд╣реИред

рдЕрдм, рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ ":" $MANPATH (рдФрд░ $PATH, рдФрд░ $CDPATH) рдореЗрдВ рдкрде рдореЗрдВ рдкреНрд░рдХрдЯ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╡реЗ рд╡реИрд╕реЗ рднреА рдРрд╕рд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЧреИрд░-рдордЫрд▓реА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЛ рддреЛрдбрд╝ рджреЗрдЧрд╛!

рдпрд╣ рд╣рдореЗрдВ рд╢рд╛рдпрдж рдПрдХ рджрд┐рди рд╡рд┐рд╢реЗрд╖ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЗрд╕реЗ рд╕рдВрднрд╛рд▓рдиреЗ рдХрд╛ рдПрдХ рдХреНрд░реЙрд╕-рд╕рдВрдЧрдд рддрд░реАрдХрд╛ рдЬреЛрдбрд╝рддрд╛ рд╣реИ - рдЖрдкрдХреЛ рдмрд╕ : рдХреЗ рд╕рд╛рде рдЕрд╕рд╛рдЗрди рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдЗрд╕реЗ (string split : -- $MANPATH) рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛

@faho рдореИрдВ рдЗрд╕ рд╡рд┐рдЪрд╛рд░ рдХреЛ рдЧрд░реНрдо рдХрд░ рд░рд╣рд╛ рд╣реВрдВ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдЪрд╛рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЪрд░ рдХреЛ рдХреИрд╕реЗ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдЧрд╛? рдХреНрдпрд╛ splitenv рдРрд╕рд╛ рдХрд░реЗрдВрдЧреЗ?

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдЙрдкрдЪрд╛рд░ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рдЪрд░ рдХреЛ рдХреИрд╕реЗ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░реЗрдЧрд╛?

рдореЗрд░рд╛ рд╡рд┐рдЪрд╛рд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдВрдХрди рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдирд╛ рдерд╛ - рдмрд╕ рдЗрд╕реЗ $PATH et al рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЫреЛрдбрд╝ рджреЗрдВред рдЬреЛ рд╣рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХрд┐рд╕реА рдмрд┐рдВрджреБ рдкрд░ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рдиреЗ рд╕реЗ рджреВрд░ рдХрд░ рджреЗрдЧрд╛ред

рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рддрдм рд╕реЗ рдпрд╣ рд╕рдордЭ рдореЗрдВ рдЖрдпрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рдЪрд░реЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рд╕реЗ рд╣рдореЗрдВ рдЕрдиреНрдп рдЪрд░реЛрдВ рдХреЗ рд╕рд╛рде рднреА рдорджрдж рдорд┐рд▓рддреА рд╣реИ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рдХрд╣рд╛ рд╣реИ рдХрд┐ рдореЗрд░рд╛ $EDITOR рдмрд╛рд╣рд░реА рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рддрддреНрд╡ ( set EDITOR "emacs -nw" ) рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрдЯ рд╣реИ рдЙрдкрдХрд░рдг, рд▓реЗрдХрд┐рди рдордЫрд▓реА рдЗрд╕реЗ рдмреЗрд╣рддрд░ рдкрд╕рдВрдж рдХрд░реЗрдЧреА рдпрджрд┐ рдпрд╣ рдПрдХ рд╕реВрдЪреА рдереАред

рддреЛ рдореИрдВ рд╢рд╛рдпрдж _space_ рдХреЛ рдПрдХ рдбрд┐рд▓реАрдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд░ рджреВрдВрдЧрд╛, рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдПрдХ рдкрде-рдЬреИрд╕рд╛ рди рд╣реЛ (рдФрд░ рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдпрджрд┐ рдкрд╛рде рдореЗрдВ рдирд╛рдо рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ рддреЛ рд╢рд╛рдпрдж рдареАрдХ рд╣реИ)ред

рдХреНрдпрд╛ рд╕реНрдкреНрд▓рд┐рдЯреЗрдВрд╡ рдЗрд╕реЗ рдХрд░реЗрдЧрд╛?

рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдФрд░ рдмрд┐рд▓реНрдЯрд┐рди рдкреЗрд╢ рдХрд░рдирд╛ рдкрд╕рдВрдж рдирд╣реАрдВ рдХрд░рддрд╛, рдЗрд╕рд▓рд┐рдП рд╢рд╛рдпрдж рдореИрдВ рддрд░реНрдХ-рд╕реЗ-рд╕реЗрдЯ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдЬрд╛рдКрдВрдЧрд╛ред

рдореИрдВ рд╕рд╣рдордд рд╣реВрдВ рдХрд┐ "рд╡рд┐рд╢реЗрд╖-рдЖрд╡рд░рдг рдкрде/рдореИрдирдкрд╛рде/рд╕реАрдбреАрдкреАрдПрдЯреАрдПрдЪ рдЕрдЬреАрдм рд╣реИ; рд╣рдореЗрдВ рдПрдХ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ"ред

рдореЗрд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд╣реИ рдХрд┐ рд╣рдо рд╕реНрдкреЗрд╢рд▓-рдХреЗрд╕рд┐рдВрдЧ рдкрд╛рде/рдореИрдирдкрд╛рде/рд╕реАрдбреАрдкреАрдПрдЯреАрдПрдЪ рдмрдВрдж рдХрд░ рджреЗрдВред рдЙрдирдХрд╛ рдЗрд▓рд╛рдЬ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ (рдордЫрд▓реА рдХреЗ рдЕрдВрдд-рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛) рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╡реЗ рдЕрдиреНрдп рдЧреЛрд▓реЗ рдореЗрдВ рд╣реИрдВред $PATH (рдФрд░ рдЕрдиреНрдп) рдПрдХ рдПрдХрд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ (рдпрд╛ рдордЫрд▓реА рд╢рдмреНрджрдЬрд╛рд▓ рдореЗрдВ 1 рдХреА рд▓рдВрдмрд╛рдИ рд╡рд╛рд▓реА рдПрдХ рд╕реВрдЪреА) рд╣реЛрдЧреА рдЬрд┐рд╕рдореЗрдВ рдХреЛрд▓рди рд╣реЛрдВрдЧреЗред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдореИрдВ рдордЫрд▓реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдХрд╛ рдЬрд┐рдХреНрд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ, рди рдХрд┐ рдЗрди рдЪреАрдЬреЛрдВ рдХреЛ рдЖрдВрддрд░рд┐рдХ рд░реВрдк рд╕реЗ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ; рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдордЫрд▓реА рдХреЗ рдЕрдВрджрд░ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреИрд╕рд╛ рджрд┐рдЦреЗрдЧрд╛--рдореИрдВ рд╡рд╣рд╛рдВ рдХрд┐рд╕реА рднреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рджреВрд╕рд░реЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддрд╛ рд╣реВрдВред

рджреА, рдЗрд╕рдореЗрдВ рдкрд┐рдЫрдбрд╝реА рдЕрд╕рдВрдЧрддрд┐ рдХрд╛ рдиреБрдХрд╕рд╛рди рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд╛рджрдЧреА рдФрд░ рд▓рд╛рд▓рд┐рддреНрдп рдореЗрдВ рдПрдХ рдмрдбрд╝реЗ рд▓рд╛рдн рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд╛рдпрдХ рд╣реЛрдЧрд╛ред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ #2090 рдХреЛ рднреА рд╕рдВрдмреЛрдзрд┐рдд рдХрд░реЗрдЧрд╛ред

рд╕рдм рдХреНрдпрд╛ рд╕реЛрдЪрддреЗ рд╣реИрдВ?

5245 рд╡рд┐рд▓рдп рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рд╣рд▓ рд╣реЛ рдЧрдпрд╛ рд▓рдЧрддрд╛ рд╣реИред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

ismay picture ismay  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

olivergondza picture olivergondza  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

frankyan picture frankyan  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

gawells picture gawells  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

krader1961 picture krader1961  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ