$> set -o pipefail
$> fortune | head -1 > /dev/null && echo "╨Я╨╛╨▓╨╡╨╖╨╗╨╛!" || echo "╨Т╤Л ╨┐╤А╨╛╨╕╨│╤А╨░╨╗╨╕"
╨Я╨╛╨▓╨╡╨╖╨╗╨╛!
$> fortune | head -1 > /dev/null && echo "╨Я╨╛╨▓╨╡╨╖╨╗╨╛!" || echo "╨Т╤Л ╨┐╤А╨╛╨╕╨│╤А╨░╨╗╨╕"
╨Т╤Л ╨┐╤А╨╛╨╕╨│╤А╨░╨╗╨╕
рдпрд╣рд╛рдВ fortune
рдмрд┐рдирд╛ рд╕рд╢рд░реНрдд рдХрд╛рд░реНрдпрдХреНрд░рдо exit(rand())
.
рдХреНрдпрд╛ рдЖрдк рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ? рдпрд╣рд╛рдБ рдХреНрдпрд╛ рдЧрд╝рд▓рдд рд╣реИ??
рдЧреАрддрд╛рддреНрдордХ-рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд╡рд┐рд╖рдпрд╛рдВрддрд░
рдореИрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдЗрд╕ рд╣рд╛рдЗрдЬреЗрдирдмрдЧ рд╕реЗ рд▓рдЧрднрдЧ рдПрдХ рдЪреМрдерд╛рдИ рд╕рджреА рдкрд╣рд▓реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реБрдЖ рдерд╛ред рддрдм рдлрд╝реИрдХреНрд╕рдиреЗрдЯ рдореЗрдВ рдЧреЗрдЯрд╡реЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдЙрдкрдпреЛрдЧрд┐рддрд╛рдПрдБ рдмрдирд╛рдирд╛ рдЖрд╡рд╢реНрдпрдХ рдерд╛
рд╕реЗрдВрдбрдореЗрд▓ рдФрд░ рдпреВрдпреВрд╕реАрдкреА/рдпреВрдпреВрдкреАрд╕реА рдореЗрдВ рдмрдЧ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдореЗрд░рд╛ рдкрд┐рдЫрд▓рд╛ рдЕрдиреБрднрд╡ "рд╕рдВрдкреВрд░реНрдг рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди" рдореЗрдВ рдореЗрд░реЗ рдкрд░рд┐рд╢реНрд░рдо рдореЗрдВ рдЬреБрдбрд╝ рдЧрдпрд╛ред рдЙрд╕ рдХрд╣рд╛рдиреА рдХреЗ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдЬрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕ рд╣рд╛рдЗрдЬреЗрдирдмрдЧ рд╕реЗ рджреЛ рд╕рдкреНрддрд╛рд╣ рддрдХ 10-14 рдШрдВрдЯреЗ рддрдХ рд╕рдВрдШрд░реНрд╖ рдХрд░рддрд╛ рд░рд╣рд╛ред рдЗрд╕рд▓рд┐рдП рдпрд╛рдж рдЖ рдЧрдпрд╛ рдФрд░ рдХрд▓ рдпрд╣ рдкреБрд░рд╛рдирд╛ рдкрд░рд┐рдЪрд┐рдд рдлрд┐рд░ рдорд┐рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд░реБрдХрд╛ред
рдЯреАрдПрд▓;рдбреАрдЖрд░ рдЙрддреНрддрд░
рдЙрдкрдпреЛрдЧрд┐рддрд╛ head
рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рд╕реЗ рдЪреИрдирд▓ рдмрдВрдж рдХрд░реЗрдВ fortune
рддреБрд░рдВрдд рдЬреИрд╕реЗ рд╣реА рд╡рд╣ рдкрд╣рд▓реА рдкрдВрдХреНрддрд┐ рдкрдврд╝рддрд╛ рд╣реИред рдЕрдЧрд░ fortune
рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рд▓рд╛рдЗрди рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддрд╛ рд╣реИ, рдлрд┐рд░ рд╕рдВрдмрдВрдзрд┐рдд рдХреЙрд▓ write()
рдПрдХ рддреНрд░реБрдЯрд┐ рд▓реМрдЯрд╛рдПрдЧрд╛ рдпрд╛ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛ рдХрд┐ рдЕрдиреБрд░реЛрдз рд╕реЗ рдХрдо рдмрд╛рдЗрдЯреНрд╕ рдЖрдЙрдЯрдкреБрдЯ рд╣реИрдВред рдмрджрд▓реЗ рдореЗрдВ, рд╕рд╛рд╡рдзрд╛рдиреАрдкреВрд░реНрд╡рдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рдмрдВрдзрди рдХреЗ рд╕рд╛рде рд▓рд┐рдЦрд╛ рдЧрдпрд╛ fortune
рдХреЛ рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдХреЛ рдЕрдкрдиреА рдирд┐рдХрд╛рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИред рдлрд┐рд░ рдЗрдВрд╕реНрдЯрд╛рд▓реЗрд╢рди рдХреЗ рдХрд╛рд░рдг set -o pipefail
рдХрд╛рдо рдХрд░реЗрдЧрд╛ || echo "╨Т╤Л ╨┐╤А╨╛╨╕╨│╤А╨░╨╗╨╕"
.
рд╣рд╛рд▓рд╛рдВрдХрд┐, head
рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдордп рдкрд░ рди рд╣реЛ рдкрд╣рд▓реЗ рдмрдВрдж рдХрд░реЛ fortune
рдбреЗрдЯрд╛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдирд╛ рд╕рдорд╛рдкреНрдд рдХрд░ рджреЗрдЧрд╛ред рддрднреА рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛ && echo "╨Я╨╛╨▓╨╡╨╖╨╗╨╛!"
.
рдореЗрд░реЗ рдЖрдЬ рдХреЗ рдПрдХ рдореЗрдВ GNUMakefile
echo '#define MDBX_BUILD_COMPILER "$(shell set -o pipefail; $(CC) --version | head -1 || echo 'Please use GCC or CLANG compatible compiler')"'
рдорд╛рдирд╡ рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд
рдпрд╣ рдпрд╣рд╛рдБ рдХреЗ рд▓рд┐рдП рдЖрдо рдмрд╛рдд рд╣реИ --version
рдпрд╣ рдкреВрдЫрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдХреМрди рд╣реИ, рдФрд░ рдпрджрд┐ рд╡рд┐рдХрд▓реНрдк рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ рд╕реНрдЯрдм рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ "рдХреГрдкрдпрд╛ GCC рдпрд╛ CLANG рд╕рдВрдЧрдд рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ".
рдкрд╕рдВрдж
#define MDBX_BUILD_COMPILER "lcc:1.23.20:Sep--4-2019:e2k-v3-linux Please use GCC or CLANG compatible compiler"
рд╕рдЪ рдХрд╣реВрдБ рддреЛ, рдореИрдВ рддреБрд░рдВрдд рдЕрдкрдиреЗ рдкреБрд░рд╛рдиреЗ "рдкрд░рд┐рдЪрд┐рдд" рдХреЛ рдирд╣реАрдВ рдкрд╣рдЪрд╛рди рдкрд╛рдпрд╛ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд╛ рдПрд▓реНрдмреНрд░рд╕ рдФрд░ рдСрд▓реНрдЯ рд╕рд╣рд┐рдд рдХрдИ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рддрд░рдгреЛрдВ рдХреЗ рддрд╣рдд рдкрд╣рд▓реЗ рд╣реА рдХрдИ рдмрд╛рд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛ рдЪреБрдХрд╛ рд╣реИред рд╡рд┐рднрд┐рдиреНрди рдХрдВрдкрд╛рдЗрд▓рд░реЛрдВ рдХреЗ рд╕рд╛рде, рдЬреАрдПрдирдпреВ рдореЗрдХ рдФрд░ рдмреИрд╢ рдХреЗ рд╕рдВрд╕реНрдХрд░рдгред рдЗрд╕рд▓рд┐рдП рдореИрдВ рдпрд╣рд╛рдВ рдЕрдкрдиреА рдЧрд▓рддреА рдирд╣реАрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛.
рдЬрдм рд╕рдорд╕реНрдпрд╛ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдФрд░/рдпрд╛ рдпрд╣ рд╕рдордЭрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЧрдИ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рдерд╛, рддреЛ рдФрд░ рдЕрдзрд┐рдХ рдЕрдЬреАрдм рдЪреАрдЬрд╝реЗрдВ рдШрдЯрд┐рдд рд╣реЛрдиреЗ рд▓рдЧреАрдВред
рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рдордВрддреНрд░:
echo "#define MDBX_BUILD_COMPILER '$(set -o pipefail; LC_ALL=C cc --version | head -1 || echo "Please use GCC or CLANG compatible compiler")'"
рд╕рдордп-рд╕рдордп рдкрд░ рдпрд╣ рдЕрддрд┐рд░рд┐рдХреНрдд рдкрд╛рда рдЙрддреНрдкрдиреНрди рдХрд░реЗрдЧрд╛, рдлрд┐рд░ рдирд╣реАрдВ... рдЕрдХреНрд╕рд░ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛рдлреА рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЪрд┐рдкрдХрд╛ рд░рд╣рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдкреЛрдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╣рдореЗрд╢рд╛ рджреЛрдиреЛрдВ рдорд┐рд▓рддреЗ рд╣реИрдВ!
рдмреЗрд╢рдХ, strace
рд╡реИрд╕реЗ, рдХрд┐рд╕реА рднреА рд╕реНрд╡рд╛рднрд┐рдорд╛рдиреА рдХреА рддрд░рд╣ strace
рдкреБрдирд░реБрддреНрдкрд╛рджрди рдирд╣реАрдВ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реИред
рддреЛ рдХреНрдпрд╛ рдЪрд▓ рд░рд╣рд╛ рд╣реИ?
- рдЙрдкрдпреЛрдЧрд┐рддрд╛
head
рдЬреИрд╕реЗ рд╣реА рд╡рд╣ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреА рдЕрдиреБрд░реЛрдзрд┐рдд рд╕рдВрдЦреНрдпрд╛ рдкрдврд╝ рд▓реЗрддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рдкрд╛рд╕ рдкрдврд╝реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЪреИрдирд▓ рдХреЛ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИ (рдпрд╛ рдмрд▓реНрдХрд┐ рдордЬрдмреВрд░ рднреА рд╣реИ)ред - рдбреЗрдЯрд╛-рдЬрдирд░реЗрдЯрд┐рдВрдЧ рдкреНрд░реЛрдЧреНрд░рд╛рдо-рд▓реЗрдЦрдХ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ
cc
) рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдПрдХрд╛рдзрд┐рдХ рдкрдВрдХреНрддрд┐рдпрд╛рдБ рдкреНрд░рд┐рдВрдЯ рдХрд░реЗрдВ рдФрд░ рдореБрдХреНрдд рдПрдХрд╛рдзрд┐рдХ рдХреЙрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдРрд╕рд╛ рдХрд░реЗрдВwrite()
. - рдЕрдЧрд░ рдкрд╛рдардХ рдХреЗ рдкрд╛рд╕ рд▓реЗрдЦрдХ рдХреА рдУрд░ рд╕реЗ рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреА рдУрд░ рд╕реЗ рдЪреИрдирд▓ рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реЛрдЧрд╛, рдлрд┐рд░ рд▓реЗрдЦрдХ рдХреЛ рдПрдХ рддреНрд░реБрдЯрд┐ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧреАред
- рд▓реЗрдЦрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрдзрд┐рдХрд╛рд░ рд╣реИ рджреЛрдиреЛрдВ рдЪреИрдирд▓ рд▓реЗрдЦрди рддреНрд░реБрдЯрд┐ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдЖрдкрдХреЗ рдкреВрд░реНрдгрддрд╛ рдХреЛрдб рдореЗрдВ рджрд░реНрд╢рд╛рддреЗ рд╣реИрдВред
- рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдХрд╛рд░рдг
set -o pipefail
рдпрджрд┐ рдХрдо рд╕реЗ рдХрдо рдПрдХ рддрддреНрд╡ рд╕реЗ рдкрд░рд┐рдгрд╛рдо рдЧреИрд░-рд╢реВрдиреНрдп рд╣реИ, рддреЛ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдкреВрд░реНрдгрддрд╛ рдХреЛрдб рдЧреИрд░-рд╢реВрдиреНрдп (рддреНрд░реБрдЯрд┐рдкреВрд░реНрдг) рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ рдпрд╣ рдХрд╛рдо рдХрд░реЗрдЧрд╛|| echo "Please use GCC or CLANG compatible compiler"
.
рд▓реЗрдЦрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╕рдВрдХреЗрддреЛрдВ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рднрд┐рдиреНрдирддрд╛рдПрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЕрд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ рд╕рдорд╛рдкреНрдд рд╣реЛ рд╕рдХрддрд╛ рд╣реИ (рдЧреИрд░-рд╢реВрдиреНрдп/рддреНрд░реБрдЯрд┐ рд╕рдорд╛рдкреНрддрд┐ рд╕реНрдерд┐рддрд┐ рдХреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкреАрдврд╝реА рдХреЗ рд╕рд╛рде), рдпрд╛ write()
рдЕрдиреБрд░реЛрдз рдФрд░ рд╕реЗрдЯ рд╕реЗ рдХрдо рдмрд╛рдЗрдЯреНрд╕ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкрд░рд┐рдгрд╛рдо рд▓реМрдЯрд╛рдПрдЧрд╛ errno = EPIPE
.
рджреЛрд╖реА рдХреМрди рд╣реИ?
рд╡рд░реНрдгрд┐рдд рдорд╛рдорд▓реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ - рдереЛрдбрд╝рд╛ рд╕рдм рдХреБрдЫ. рдореЗрдВ рд╕рдВрднрд╛рд▓рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ cc
(lcc:1.23.20:SepтАФ4-2019:e2k-v3-linux) рдирд╣реАрдВ рд╣реИ рдЕрдирд╛рд╡рд╢реНрдпрдХред рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╕рд╛рд╡рдзрд╛рдиреА рдмрд░рддрддреЗ рд╣реБрдП рдЧрд▓рддреА рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдмреЙрдпрд▓рд░рдкреНрд▓реЗрдЯ рдореЗрдВ рдЕрдЪрд╛рдирдХ рдЦрд╛рдорд┐рдпреЛрдВ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рддрд╛ рд╣реИред
рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ?
рдЧрд▓рдд:
fortune | head -1 && echo "╨Я╨╛╨▓╨╡╨╖╨╗╨╛, ╨╜╨╛ ╨▓╤Л ╤А╨╕╤Б╨║╤Г╨╡╤В╨╡!" || echo "WTF?"
рдареАрдХ рдХрд░реЗрдВ:
-
(fortune && echo "╨г╤Б╨┐╨╡╤И╨╜╨╛" || echo "╨Ю╤И╨╕╨▒╨║╨░") | head -1
рдпрд╣рд╛рдВ, рдиреЗрд╕реНрдЯреЗрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрди ("рдХреЛрд╖реНрдардХреЛрдВ рдХреЗ рднреАрддрд░") рдХреА рд╕рд░реНрд╡рд┐рд╕рд┐рдВрдЧ рдХрд░рддреЗ рд╕рдордп рдПрдХ рдкрд╛рдЗрдк рдХреЛ рдЬрд▓реНрджреА рдмрдВрдж рдХрд░рдиреЗ рдХрд╛ рдХрд╛рдо рдХрдорд╛рдВрдб рджреБрднрд╛рд╖рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рддрджрдиреБрд╕рд╛рд░, рдпрджрд┐
fortune
рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдПрдХ рдмрдВрдж рдЪреИрдирд▓ рдХреЛ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдХреА рд░рд┐рдкреЛрд░реНрдЯ рдХрд░реЗрдЧрд╛, рдлрд┐рд░ рдЖрдЙрдЯрдкреБрдЯ|| echo "╨Ю╤И╨╕╨▒╨║╨░"
рдпрд╣ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЪреИрдирд▓ рдкрд╣рд▓реЗ рд╣реА рдмрдВрдж рд╣реЛ рдЪреБрдХрд╛ рд╣реИред -
fortune | cat - | head -1 && echo "╨г╤Б╨┐╨╡╤И╨╜╨╛" || echo "╨Ю╤И╨╕╨▒╨║╨░"
рдпрд╣рд╛рдБ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╣реИ
cat
рдпрд╣ рдПрдХ рдЕрд╡рд░реЛрдзрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рддреНрд░реБрдЯрд┐ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░ рджреЗрддрд╛ рд╣реИEPIPE
рд╡рд╛рдкрд╕реА рдкрд░. рдЕрднреА рдирд┐рд╖реНрдХрд░реНрд╖ рдХреЗ рд▓рд┐рдП рдЗрддрдирд╛ рд╣реА рдХрд╛рдлреА рд╣реИfortune
рдЫреЛрдЯреА (рдХрдИ рдкрдВрдХреНрддрд┐рдпрд╛рдБ) рдФрд░ рдЪреИрдирд▓ рдмрдлрд╝рд░ рдореЗрдВ рдлрд┐рдЯ рд╣реЛрддреА рд╣реИ (512 рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ тЙИ64K рддрдХ, рдЕрдзрд┐рдХрд╛рдВрд╢ OS тЙе4K рдореЗрдВ)ред рдЕрдиреНрдпрдерд╛ рд╕рдорд╕реНрдпрд╛ рд╡рд╛рдкрд╕ рдЖ рд╕рдХрддреА рд╣реИ.
рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕ рдХреИрд╕реЗ рдХрд░реЗрдВ EPIPE
рдФрд░ рдЕрдиреНрдп рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рддреНрд░реБрдЯрд┐рдпрд╛рдБ?
рдХреЛрдИ рдПрдХ рд╕рд╣реА рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд░рд▓ рд╕рд┐рдлрд╝рд╛рд░рд┐рд╢реЗрдВ рд╣реИрдВ:
EPIPE
рдЕрдкреЗрдХреНрд╖рд┐рдд рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП (рдФрд░ рдирд┐рдХрд╛рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд) рдЙрд╕ рдбреЗрдЯрд╛ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рддреЗ рд╕рдордп рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЕрдЦрдВрдбрддрд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрднрд┐рд▓реЗрдЦрд╛рдЧрд╛рд░ рдпрд╛ рдмреИрдХрдЕрдк рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рджреМрд░рд╛рдиредEPIPE
рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рд╕реВрдЪрдирд╛ рдФрд░ рд╕рд╣рд╛рдпрдХ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╕рдордпред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╕рдордп--help
рдпрд╛--version
.- рдпрджрд┐ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рдХреЛрдб рдкрд╣рд▓реЗ рдкрд╛рдЗрдкрд▓рд╛рдЗрди рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
| head
, рддреЛEPIPE
рдЗрд╕реЗ рдирдЬрд╝рд░рдЕрдВрджрд╛рдЬрд╝ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ, рдЕрдиреНрдпрдерд╛ рдЗрд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдФрд░ рдирд┐рдХрд╛рд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреНрд░рддрд┐рдмрд┐рдВрдмрд┐рдд рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рдореИрдВ рдЗрд╕ рдЕрд╡рд╕рд░ рдкрд░ рдЯреАрдореЛрдВ рдХреЗ рдкреНрд░рддрд┐ рдЕрдкрдирд╛ рдЖрднрд╛рд░ рд╡реНрдпрдХреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛
рдЗрд╕реЗ рдЬрд╛рд░реА рд░рдЦреЛ рдХреИрдорд░реЗрдбреНрд╕, рдКрдкрд░
рдзрдиреНрдпрд╡рд╛рдж
рдХреЗрдбреАрдкреАрд╡реА рд╕реЗ
рд╕реНрд░реЛрдд: www.habr.com