$> set -o pipefail
$> fortune | head -1 > /dev/null && echo "ĐОвĐĩСĐģĐž!" || echo "ĐŅ ĐŋŅОиĐŗŅĐ°Đģи"
ĐОвĐĩСĐģĐž!
$> fortune | head -1 > /dev/null && echo "ĐОвĐĩСĐģĐž!" || echo "ĐŅ ĐŋŅОиĐŗŅĐ°Đģи"
ĐŅ ĐŋŅОиĐŗŅĐ°Đģи
āĻāĻāĻž āĻšāĻ˛ fortune
āĻļāĻ°ā§āĻ¤āĻžāĻ§ā§āĻ¨ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽ āĻāĻžāĻĄāĻŧāĻž exit(rand())
.
āĻ¤ā§āĻŽāĻŋ āĻāĻŋ āĻŦā§āĻ¯āĻžāĻā§āĻ¯āĻž āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§? āĻāĻāĻžāĻ¨ā§ āĻāĻŋ āĻā§āĻ˛?
āĻ˛āĻŋāĻ°āĻŋāĻā§āĻ¯āĻžāĻ˛-āĻāĻ¤āĻŋāĻšāĻžāĻ¸āĻŋāĻ āĻĄāĻŋāĻā§āĻ°ā§āĻļāĻ¨
āĻāĻŽāĻŋ āĻāĻ āĻšāĻžāĻāĻā§āĻ¨āĻŦāĻžāĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻĒā§āĻ°āĻĨāĻŽ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽ āĻāĻ āĻāĻ¤ā§āĻ°ā§āĻĨāĻžāĻāĻļ āĻāĻā§āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻĢā§āĻ¯āĻžāĻā§āĻ¸āĻ¨ā§āĻā§āĻ° āĻā§āĻāĻāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻāĻŋ āĻāĻāĻāĻŋāĻ˛āĻŋāĻāĻŋ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ āĻāĻŋāĻ˛
āĻ¸ā§āĻ¨ā§āĻĄāĻŽā§āĻāĻ˛ āĻāĻŦāĻ 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 āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯āĻĒā§āĻ°ā§āĻŖ āĻāĻŽā§āĻĒāĻžāĻāĻ˛āĻžāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ¨".
āĻĒāĻāĻ¨ā§āĻĻ
#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
āĻāĻĒāĻžāĻ¯āĻŧ āĻĻā§āĻŦāĻžāĻ°āĻž, āĻā§āĻ¨ āĻāĻ¤ā§āĻŽāĻ¸āĻŽā§āĻŽāĻžāĻ¨ āĻŽāĻ¤ 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
āĻāĻāĻŋ āĻāĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻāĻžāĻ˛, āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻāĻ°āĻž āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤āĻŋāĻĢāĻ˛āĻŋāĻ¤ āĻāĻ°āĻž āĻāĻžāĻ˛āĨ¤
āĻāĻŽāĻŋ āĻĻāĻ˛āĻā§āĻ˛ā§āĻ° āĻĒā§āĻ°āĻ¤āĻŋ āĻā§āĻ¤āĻā§āĻāĻ¤āĻž āĻĒā§āĻ°āĻāĻžāĻļ āĻāĻ°āĻžāĻ° āĻāĻ āĻ¸ā§āĻ¯ā§āĻāĻāĻŋ āĻ¨āĻŋāĻ¤ā§ āĻāĻžāĻ
āĻāĻāĻž āĻŦāĻāĻžāĻ¯āĻŧ āĻ°āĻžāĻā§āĻ¨, āĻāĻĒ
ĐĄĐŋĐ°ŅийО
āĻĨā§āĻā§ KDPV
āĻāĻ¤ā§āĻ¸: www.habr.com