āĻ•ā§āĻŽāĻŋāĻ°ā§‡āĻ° āĻĒāĻžāĻļ āĻ•āĻžāĻŸāĻŋāĻ¯āĻŧā§‡ āĻ†āĻ°āĻ“ āĻāĻ•āĻŸāĻŋ āĻšāĻžāĻ‡āĻœā§‡āĻ¨āĻŦāĻžāĻ—

āĻ•ā§āĻŽāĻŋāĻ°ā§‡āĻ° āĻĒāĻžāĻļ āĻ•āĻžāĻŸāĻŋāĻ¯āĻŧā§‡ āĻ†āĻ°āĻ“ āĻāĻ•āĻŸāĻŋ āĻšāĻžāĻ‡āĻœā§‡āĻ¨āĻŦāĻžāĻ—

$> set -o pipefail

$> fortune | head -1 > /dev/null && echo "ПовĐĩСĐģĐž!" || echo "ВŅ‹ ĐŋŅ€ĐžĐ¸ĐŗŅ€Đ°Đģи"
ПовĐĩСĐģĐž!

$> fortune | head -1 > /dev/null && echo "ПовĐĩСĐģĐž!" || echo "ВŅ‹ ĐŋŅ€ĐžĐ¸ĐŗŅ€Đ°Đģи"
ВŅ‹ ĐŋŅ€ĐžĐ¸ĐŗŅ€Đ°Đģи

āĻāĻŸāĻž āĻšāĻ˛ fortune āĻļāĻ°ā§āĻ¤āĻžāĻ§ā§€āĻ¨ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽ āĻ›āĻžāĻĄāĻŧāĻž exit(rand()).

āĻ¤ā§āĻŽāĻŋ āĻ•āĻŋ āĻŦā§āĻ¯āĻžāĻ–ā§āĻ¯āĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‹? āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻŋ āĻ­ā§āĻ˛?

āĻ˛āĻŋāĻ°āĻŋāĻ•ā§āĻ¯āĻžāĻ˛-āĻāĻ¤āĻŋāĻšāĻžāĻ¸āĻŋāĻ• āĻĄāĻŋāĻ—ā§āĻ°ā§‡āĻļāĻ¨

āĻ†āĻŽāĻŋ āĻāĻ‡ āĻšāĻžāĻ‡āĻœā§‡āĻ¨āĻŦāĻžāĻ—ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻāĻ• āĻšāĻ¤ā§āĻ°ā§āĻĨāĻžāĻ‚āĻļ āĻ†āĻ—ā§‡āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĢā§āĻ¯āĻžāĻ•ā§āĻ¸āĻ¨ā§‡āĻŸā§‡āĻ° āĻ—ā§‡āĻŸāĻ“āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ›āĻŋāĻ˛ āĻĒāĻžāĻ‡āĻĒ FreeBSD āĻāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ "āĻšā§‡āĻ•āĻžāĻ° āĻ–ā§‡āĻ˛āĻž"āĨ¤ āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻļāĻŋāĻ¤ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻ†āĻŽāĻŋ āĻ¨āĻŋāĻœā§‡āĻ•ā§‡ āĻāĻ•āĻœāĻ¨ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻāĻŦāĻ‚ āĻŽā§‹āĻŸāĻžāĻŽā§āĻŸāĻŋ āĻ…āĻ­āĻŋāĻœā§āĻž āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻ†āĻŽāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻžāĻ° āĻĻāĻŋāĻ•ā§‡ āĻŦāĻŋāĻļā§‡āĻˇ āĻŽāĻ¨ā§‹āĻ¯ā§‹āĻ— āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¯āĻ¤āĻŸāĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ¸āĻžāĻŦāĻ§āĻžāĻ¨ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻžāĻŦāĻ§āĻžāĻ¨āĻ¤āĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ›āĻŋ...

āĻ¸ā§‡āĻ¨ā§āĻĄāĻŽā§‡āĻ‡āĻ˛ āĻāĻŦāĻ‚ uucp/uupc-āĻ āĻŦāĻžāĻ— āĻŽā§‹āĻ•āĻžāĻŦā§‡āĻ˛āĻž āĻ•āĻ°āĻžāĻ° āĻ†āĻŽāĻžāĻ° āĻ†āĻ—ā§‡āĻ° āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž "āĻĒā§āĻ™ā§āĻ–āĻžāĻ¨ā§āĻĒā§āĻ™ā§āĻ– āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž"-āĻ¤ā§‡ āĻ†āĻŽāĻžāĻ° āĻ…āĻ§ā§āĻ¯āĻŦāĻ¸āĻžāĻ¯āĻŧ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ āĻ¸ā§‡āĻ‡ āĻ—āĻ˛ā§āĻĒā§‡āĻ° āĻŦāĻŋāĻļāĻĻ āĻŦāĻŋāĻŦāĻ°āĻŖā§‡ āĻĄā§āĻŦ āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻ•ā§‹āĻ¨āĻ“ āĻŽāĻžāĻ¨ā§‡ āĻ¨ā§‡āĻ‡, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻŋ āĻāĻ‡ āĻšāĻžāĻ‡āĻœā§‡āĻ¨āĻŦāĻžāĻ—ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĻā§āĻ‡ āĻ¸āĻĒā§āĻ¤āĻžāĻš āĻ§āĻ°ā§‡ 10-14 āĻ˜āĻ¨ā§āĻŸāĻž āĻ˛āĻĄāĻŧāĻžāĻ‡ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻ…āĻ¤āĻāĻŦ, āĻāĻŸāĻŋ āĻŽāĻ¨ā§‡ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻāĻŦāĻ‚ āĻ—āĻ¤āĻ•āĻžāĻ˛ āĻāĻ‡ āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤āĻŋ āĻ†āĻŦāĻžāĻ° āĻĻā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻĨāĻžāĻŽāĻ˛āĨ¤

TL; DR āĻ‰āĻ¤ā§āĻ¤āĻ°

āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ 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 āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨".

āĻĒāĻ›āĻ¨ā§āĻĻ āĻŦāĻ¯āĻŧāĻ˛āĻžāĻ°āĻĒā§āĻ˛ā§‡āĻŸ āĻ•ā§‹āĻĨāĻžāĻ“ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¯āĻžāĻŦā§‡āĨ¤ āĻāĻŸāĻŋ āĻāĻ‡ āĻœāĻžāĻ¯āĻŧāĻ—āĻžāĻ¯āĻŧ āĻ…āĻ¨ā§‡āĻ• āĻ†āĻ—ā§‡ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ¸āĻ°ā§āĻŦāĻ¤ā§āĻ° āĻ¨āĻŋāĻ–ā§āĻāĻ¤āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ›āĻŋāĻ˛ (āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸, āĻ¸ā§‹āĻ˛āĻžāĻ°āĻŋāĻ¸, āĻ“āĻāĻ¸āĻāĻ•ā§āĻ¸, āĻĢā§āĻ°āĻŋāĻŦāĻŋāĻāĻ¸āĻĄāĻŋ, WSL āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ)āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ—āĻ¤āĻ•āĻžāĻ˛ āĻ‡āĻ¨ altlinux āĻĒā§āĻ˛ā§āĻ¯āĻžāĻŸāĻĢāĻ°ā§āĻŽā§‡āĻ° āĻ‰āĻĒāĻ° āĻāĻ˛āĻŦā§āĻ°āĻžāĻ¸ 2000 (E2K) āĻ†āĻŽāĻŋ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°ā§‡āĻ›āĻŋ:

#define MDBX_BUILD_COMPILER "lcc:1.23.20:Sep--4-2019:e2k-v3-linux Please use GCC or CLANG compatible compiler"

āĻ¸āĻ¤ā§āĻ¯āĻŋ āĻŦāĻ˛āĻ¤ā§‡, āĻ†āĻŽāĻŋ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ†āĻŽāĻžāĻ° āĻĒā§āĻ°āĻžāĻ¨ā§‹ "āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤" āĻšāĻŋāĻ¨āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĻ¨āĻŋāĨ¤ āĻ¤āĻĻā§āĻĒāĻ°āĻŋ, āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ˛āĻŦā§āĻ°āĻžāĻ¸ā§‡ āĻāĻŦāĻ‚ Alt āĻ¸āĻš āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛āĻŋ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻŦāĻŋāĻ¤āĻ°āĻŖā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ āĻŦāĻšā§āĻŦāĻžāĻ° āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ°, GNU āĻŽā§‡āĻ• āĻāĻŦāĻ‚ āĻŦā§āĻ¯āĻžāĻļā§‡āĻ° āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖ āĻ¸āĻšāĨ¤ āĻ¤āĻžāĻ‡, āĻ†āĻŽāĻŋ āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻžāĻ° āĻ­ā§āĻ˛ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻžāĻ‡āĻ¨āĻŋāĨ¤

āĻ¯āĻ–āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻĒā§āĻ¨āĻ°ā§āĻ¤ā§āĻĒāĻžāĻĻāĻ¨ āĻ•āĻ°āĻžāĻ° āĻāĻŦāĻ‚/āĻ…āĻĨāĻŦāĻž āĻ•ā§€ āĻ˜āĻŸāĻ›ā§‡ āĻ¤āĻž āĻŦā§‹āĻāĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻ†āĻ°āĻ“ āĻ…āĻĻā§āĻ­ā§āĻ¤ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻ˜āĻŸāĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĨ¤
āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛āĻžāĻ‡āĻ¨ āĻŦāĻžāĻ¨āĻžāĻ¨:

echo "#define MDBX_BUILD_COMPILER '$(set -o pipefail; LC_ALL=C cc --version | head -1 || echo "Please use GCC or CLANG compatible compiler")'"

āĻĒā§āĻ°āĻ¤āĻŋāĻŦāĻžāĻ° āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻāĻŸāĻŋ āĻ…āĻ¤āĻŋāĻ°āĻŋāĻ•ā§āĻ¤ āĻĒāĻžāĻ ā§āĻ¯ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻŦā§‡, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¨āĻž... āĻĒā§āĻ°āĻžāĻ¯āĻŧāĻļāĻ‡ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦā§‡āĻļ āĻĻā§€āĻ°ā§āĻ˜ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŸāĻ•ā§‡ āĻĨāĻžāĻ•āĻ¤, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻŦā§‡āĻļāĻŋāĻ•ā§āĻˇāĻŖ āĻ–ā§‹āĻāĻšāĻž āĻĻā§‡āĻ¨ āĻ¤āĻŦā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻ‰āĻ­āĻ¯āĻŧāĻ‡ āĻĒā§‡āĻ¯āĻŧā§‡ āĻĨāĻžāĻ•ā§‡āĻ¨!

āĻ…āĻŦāĻļā§āĻ¯āĻ‡, strace āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŦāĻ•āĻŋāĻ›ā§! āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻŸā§āĻ°ā§‡āĻ¸ āĻŸāĻŋāĻ°āĻžāĻĄ āĻŸāĻžāĻ‡āĻĒ āĻ•āĻ°āĻžāĻ° āĻĒāĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ¨ā§āĻŸāĻžāĻ° āĻšāĻžāĻĒāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¨āĻž āĻĒā§‡āĻ¯āĻŧā§‡, āĻ†āĻŽāĻŋ āĻ†āĻŽāĻžāĻ° āĻĒā§āĻ°āĻžāĻ¨ā§‹ āĻŦāĻ¨ā§āĻ§ā§ āĻŽāĻŋāĻ¸ā§āĻŸāĻžāĻ° āĻšāĻžāĻ‡āĻœā§‡āĻ¨āĻŦāĻžāĻ— āĻāĻŦāĻ‚ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻĻā§‡āĻ° āĻšāĻŋāĻ¨āĻ¤ā§‡ āĻĒā§‡āĻ°ā§‡āĻ›āĻŋ āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛āĻžāĻ° āĻ†āĻŽāĻŋ 25 āĻŦāĻ›āĻ° āĻ†āĻ—ā§‡, āĻ¨āĻ¸ā§āĻŸāĻžāĻ˛āĻœāĻŋâ€Ļ āĻāĻŦāĻ‚ āĻ†āĻŽāĻŋ āĻĻā§āĻƒāĻ–āĻŋāĻ¤ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ āĻāĻ‡ āĻ¨ā§‹āĻŸāĻŸāĻŋ āĻ˛āĻŋāĻ–āĻŦ 😉

āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻĻā§āĻŦāĻžāĻ°āĻž, āĻ•ā§‹āĻ¨ āĻ†āĻ¤ā§āĻŽāĻ¸āĻŽā§āĻŽāĻžāĻ¨ āĻŽāĻ¤ āĻšāĻžāĻ‡āĻœā§‡āĻ¨āĻŦāĻžāĻ—āĻ…āĻ§ā§€āĻ¨ā§‡ 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?"

āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨:

  1. (fortune && echo "ĐŖŅĐŋĐĩŅˆĐŊĐž" || echo "ОŅˆĐ¸ĐąĐēĐ°") | head -1

    āĻāĻ–āĻžāĻ¨ā§‡, āĻ¨ā§‡āĻ¸ā§āĻŸā§‡āĻĄ āĻĒāĻžāĻ‡āĻĒāĻ˛āĻžāĻ‡āĻ¨ ("āĻŦāĻ¨ā§āĻ§āĻ¨ā§€āĻ° āĻŽāĻ§ā§āĻ¯ā§‡") āĻ¸āĻžāĻ°ā§āĻ­āĻŋāĻ¸āĻŋāĻ‚ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ‡āĻĒ āĻĒā§āĻ°āĻžāĻĨāĻŽāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°āĻž āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĒā§āĻ°ā§‡āĻŸāĻžāĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻŦā§‡āĨ¤ āĻ¸ā§‡āĻ‡ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¯āĻŧā§€, āĻ¯āĻĻāĻŋ fortune āĻ¸ā§āĻŸā§āĻ¯āĻžāĻŸāĻžāĻ¸, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻāĻ•āĻŸāĻŋ āĻŦāĻ¨ā§āĻ§ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ā§‡ āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ°āĻŋāĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻŦā§‡ || echo "ОŅˆĐ¸ĐąĐēĐ°" āĻāĻŸāĻŋ āĻ•ā§‹āĻĨāĻžāĻ“ āĻĒāĻžāĻŦā§‡ āĻ¨āĻž, āĻ¯ā§‡āĻšā§‡āĻ¤ā§ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛āĻŸāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻ¨ā§āĻ§āĨ¤

  2. fortune | cat - | head -1 && echo "ĐŖŅĐŋĐĩŅˆĐŊĐž" || echo "ОŅˆĐ¸ĐąĐēĐ°"

    āĻāĻ–āĻžāĻ¨ā§‡ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻ†āĻ›ā§‡ cat āĻāĻ•āĻŸāĻŋ āĻĄā§āĻ¯āĻžāĻŽā§āĻĒāĻžāĻ° āĻšāĻŋāĻ¸āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ•āĻžāĻ°āĻŖ āĻāĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ‰āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡ EPIPE āĻĒā§āĻ°āĻ¤ā§āĻ¯āĻžāĻšāĻžāĻ°ā§‡āĻ° āĻ‰āĻĒāĻ°āĨ¤ āĻāĻ–āĻ¨ āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ‡ āĻ¯āĻĨā§‡āĻˇā§āĻŸ fortune āĻ›ā§‹āĻŸ (āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ¨) āĻāĻŦāĻ‚ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ āĻŦāĻžāĻĢāĻžāĻ°ā§‡ āĻĢāĻŋāĻŸ āĻ•āĻ°ā§‡ (512 āĻŦāĻžāĻ‡āĻŸ āĻĨā§‡āĻ•ā§‡ ≈64K, āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— OS â‰Ĩ4K-āĻ¤ā§‡)āĨ¤ āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĢāĻŋāĻ°ā§‡ āĻ†āĻ¸āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ EPIPE āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻ°ā§‡āĻ•āĻ°ā§āĻĄāĻŋāĻ‚ āĻ¤ā§āĻ°ā§āĻŸāĻŋ?

āĻ•ā§‹āĻ¨ āĻāĻ•āĻ• āĻ¸āĻ āĻŋāĻ• āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ¨ā§‡āĻ‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻšāĻœ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ†āĻ›ā§‡:

  • EPIPE āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻž āĻ†āĻŦāĻļā§āĻ¯āĻ• (āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻŋāĻ¤) āĻ¯āĻ–āĻ¨ āĻ…āĻ–āĻŖā§āĻĄāĻ¤āĻž āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻāĻŽāĻ¨ āĻĄā§‡āĻŸāĻž āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°ā§‡āĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻ°ā§āĻ•āĻžāĻ‡āĻ­āĻžāĻ° āĻŦāĻž āĻŦā§āĻ¯āĻžāĻ•āĻ†āĻĒ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋāĻ—ā§āĻ˛āĻŋāĻ° āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ āĻšāĻ˛āĻžāĻ•āĻžāĻ˛ā§€āĻ¨āĨ¤
  • EPIPE āĻ‰āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻ­āĻžāĻ˛ āĻ¤āĻĨā§āĻ¯ āĻāĻŦāĻ‚ āĻ¸āĻšāĻžāĻ¯āĻŧāĻ• āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĻ—ā§āĻ˛āĻŋāĻ° āĻ¤āĻĨā§āĻ¯ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ --help āĻŦāĻž --version.
  • āĻ•ā§‹āĻĄ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ˛ā§‡ āĻ†āĻ—ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒāĻžāĻ‡āĻĒāĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ | headāĻ¤āĻžāĻ°āĻĒāĻ° EPIPE āĻāĻŸāĻŋ āĻ‰āĻĒā§‡āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻž āĻ­āĻžāĻ˛, āĻ…āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻŋāĻ¤ āĻ•āĻ°āĻž āĻ­āĻžāĻ˛āĨ¤

āĻ†āĻŽāĻŋ āĻĻāĻ˛āĻ—ā§āĻ˛ā§‹āĻ° āĻĒā§āĻ°āĻ¤āĻŋ āĻ•ā§ƒāĻ¤āĻœā§āĻžāĻ¤āĻž āĻĒā§āĻ°āĻ•āĻžāĻļ āĻ•āĻ°āĻžāĻ° āĻāĻ‡ āĻ¸ā§āĻ¯ā§‹āĻ—āĻŸāĻŋ āĻ¨āĻŋāĻ¤ā§‡ āĻšāĻžāĻ‡ āĻāĻŽāĻ¸āĻŋāĻāĻ¸āĻŸāĻŋ и altlinux āĻŽāĻšāĻžāĻ¨ āĻ‰āĻ¤ā§āĻĒāĻžāĻĻāĻ¨āĻļā§€āĻ˛ āĻ•āĻžāĻœā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸āĻ‚āĻ•āĻ˛ā§āĻĒ āĻ†āĻļā§āĻšāĻ°ā§āĻ¯āĻœāĻ¨āĻ•!
āĻāĻŸāĻž āĻŦāĻœāĻžāĻ¯āĻŧ āĻ°āĻžāĻ–ā§āĻ¨, āĻ†āĻĒ āĻļāĻ°āĻ¤ā§āĻ•āĻžāĻ˛ā§‡ āĻŽāĻŋāĻŸāĻŋāĻ‚!

ĐĄĐŋĐ°ŅĐ¸ĐąĐž āĻŦā§‡āĻ°ā§‡āĻœ āĻŸāĻžāĻ‡āĻĒā§‹ āĻāĻŦāĻ‚ āĻ­ā§āĻ˛ āĻ¸āĻ‚āĻļā§‹āĻ§āĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤
āĻĨā§‡āĻ•ā§‡ KDPV āĻœāĻ°ā§āĻœāĻŋ āĻ.

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨