ShellCheck 0.9 āĻĒā§āĻ°āĻāĻ˛ā§āĻĒā§āĻ° āĻ°āĻŋāĻ˛āĻŋāĻ āĻĒā§āĻ°āĻāĻžāĻļāĻŋāĻ¤ āĻšāĻ¯āĻŧā§āĻā§, āĻļā§āĻ˛ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻā§āĻ˛āĻŋāĻ° āĻ¸ā§āĻā§āĻ¯āĻžāĻāĻŋāĻ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯āĻž bash, sh, ksh āĻāĻŦāĻ āĻĄā§āĻ¯āĻžāĻļā§āĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋāĻā§ āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°ā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻā§āĻ˛āĻŋāĻ¤ā§ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¸āĻ¨āĻžāĻā§āĻ¤āĻāĻ°āĻŖāĻā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§āĨ¤ āĻĒā§āĻ°āĻāĻ˛ā§āĻĒ āĻā§āĻĄ Haskell āĻ˛ā§āĻāĻž āĻāĻŦāĻ GPLv3 āĻ˛āĻžāĻāĻ¸ā§āĻ¨ā§āĻ¸ā§āĻ° āĻ āĻ§ā§āĻ¨ā§ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤ Vim, Emacs, VSCode, Sublime, Atom āĻāĻŦāĻ GCC- āĻ¸āĻžāĻŽāĻā§āĻāĻ¸ā§āĻ¯āĻĒā§āĻ°ā§āĻŖ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ°āĻŋāĻĒā§āĻ°ā§āĻāĻŋāĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§ āĻāĻŽāĻ¨ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĢā§āĻ°ā§āĻŽāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§āĻ° āĻ¸āĻžāĻĨā§ āĻāĻā§āĻāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻĒāĻžāĻĻāĻžāĻ¨āĻā§āĻ˛āĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°āĻž āĻšāĻ¯āĻŧāĨ¤
āĻāĻāĻŋ āĻā§āĻĄā§ āĻāĻāĻ¯āĻŧ āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻ¸āĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§, āĻ¯āĻž āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ā§āĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻĻā§āĻāĻžāĻˇā§ āĻāĻāĻāĻŋ āĻ¤ā§āĻ°ā§āĻāĻŋ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°ā§ āĻāĻŦāĻ āĻļāĻŦā§āĻĻāĻžāĻ°ā§āĻĨāĻāĻ¤ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻā§āĻ˛āĻŋāĻ° āĻĻāĻŋāĻā§ āĻĒāĻ°āĻŋāĻāĻžāĻ˛āĻŋāĻ¤ āĻāĻ°ā§, āĻ¯āĻžāĻ° āĻāĻžāĻ°āĻŖā§ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨ āĻŦā§āĻ¯āĻžāĻšāĻ¤ āĻšāĻ¯āĻŧ āĻ¨āĻž, āĻ¤āĻŦā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻāĻāĻ°āĻŖā§ āĻ āĻ¸āĻā§āĻāĻ¤āĻŋ āĻĻā§āĻāĻž āĻĻā§āĻ¯āĻŧāĨ¤ āĻŦāĻŋāĻļā§āĻ˛ā§āĻˇāĻ āĻŦāĻžāĻ§āĻžāĻā§āĻ˛āĻŋ, āĻ -āĻ¸ā§āĻĒāĻˇā§āĻ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻŦāĻ āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋ āĻ¸āĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°ā§ āĻ¯āĻž āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ¤ā§ āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻāĻžāĻ°āĻŖ āĻšāĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤
āĻļāĻ¨āĻžāĻā§āĻ¤ āĻāĻ°āĻž āĻ¤ā§āĻ°ā§āĻāĻŋāĻ° āĻļā§āĻ°ā§āĻŖā§āĻā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§, āĻāĻŽāĻ°āĻž āĻŦāĻŋāĻļā§āĻˇ āĻ āĻā§āĻˇāĻ°āĻā§āĻ˛āĻŋ āĻāĻĄāĻŧāĻŋāĻ¯āĻŧā§ āĻ¯āĻžāĻāĻ¯āĻŧāĻž āĻāĻŦāĻ āĻāĻĻā§āĻ§ā§āĻ¤āĻŋāĻ¤ā§ āĻ¤āĻžāĻĻā§āĻ° āĻĢā§āĻ°ā§āĻŽāĻŋāĻ, āĻļāĻ°ā§āĻ¤āĻ¸āĻžāĻĒā§āĻā§āĻˇ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ¤ā§ āĻ¤ā§āĻ°ā§āĻāĻŋ, āĻāĻŽāĻžāĻ¨ā§āĻĄā§āĻ° āĻā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°, āĻ¸āĻŽāĻ¯āĻŧ āĻāĻŦāĻ āĻ¤āĻžāĻ°āĻŋāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻāĻ°āĻŖā§ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻāĻŦāĻ āĻ¨āĻ¤ā§āĻ¨āĻĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻŦāĻžāĻā§āĻ¯ āĻāĻ āĻ¨ā§āĻ° āĻ¤ā§āĻ°ā§āĻāĻŋāĻā§āĻ˛āĻŋ āĻ¨ā§āĻ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, "[[$foo==0 ]]" āĻ¤ā§āĻ˛āĻ¨āĻž āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¸ā§āĻĒā§āĻ¸āĻā§āĻ˛āĻŋāĻ° āĻ āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ, "var = 42" āĻ¸ā§āĻĒā§āĻ¸āĻā§āĻ˛āĻŋāĻ° āĻāĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻŦāĻž "$foo=42" āĻŦāĻ°āĻžāĻĻā§āĻĻ āĻāĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ $ āĻāĻŋāĻšā§āĻ¨ā§āĻ° āĻāĻā§āĻāĻŋāĻ¤, āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ā§āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻĻā§āĻ§ā§āĻ¤āĻŋ āĻāĻžāĻĄāĻŧāĻžāĻ "echo $1", "tr -cd '[a-zA-Z0-9]'"-āĻ āĻ āĻ¤āĻŋāĻ°āĻŋāĻā§āĻ¤ āĻŦāĻ°ā§āĻāĻžāĻāĻžāĻ° āĻŦāĻ¨ā§āĻ§āĻ¨ā§āĻ° āĻāĻā§āĻāĻŋāĻ¤,
āĻāĻĒāĻ°āĻ¨ā§āĻ¤ā§, āĻāĻāĻŋ āĻā§āĻĄ āĻļā§āĻ˛ā§āĻ° āĻāĻ¨ā§āĻ¨āĻ¤āĻŋ, āĻŦāĻšāĻ¨āĻ¯ā§āĻā§āĻ¯āĻ¤āĻž āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĻā§āĻ° āĻāĻ°āĻ¤ā§ āĻāĻŦāĻ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻā§āĻ˛āĻŋāĻ° āĻ¨āĻŋāĻ°ā§āĻāĻ°āĻ¯ā§āĻā§āĻ¯āĻ¤āĻž āĻŦāĻžāĻĄāĻŧāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļā§āĻ° āĻāĻāĻāĻĒā§āĻ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻāĻ°ā§āĨ¤ āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, "āĻāĻā§ $[1+2]" āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ "$((..))" āĻ¸āĻŋāĻ¨āĻā§āĻ¯āĻžāĻā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻāĻ°āĻž āĻšāĻŦā§, āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ 'rm -rf "$STEAMROOT/"*' āĻ āĻ¨āĻŋāĻ°āĻžāĻĒāĻĻ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻāĻŋāĻšā§āĻ¨āĻŋāĻ¤ āĻāĻ°āĻž āĻšāĻŦā§ āĻāĻŦāĻ āĻā§āĻ°āĻŋāĻ¯āĻŧā§āĻŦāĻ˛ $STEAMROOT āĻĒā§āĻ°ā§āĻŖ āĻ¨āĻž āĻšāĻ˛ā§ āĻ°ā§āĻ āĻĄāĻŋāĻ°ā§āĻā§āĻāĻ°āĻŋ āĻŽā§āĻā§ āĻĢā§āĻ˛āĻ¤ā§ āĻ¸āĻā§āĻˇāĻŽ, āĻāĻŦāĻ "echo {1..10}" āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻĄā§āĻ¯āĻžāĻļ āĻāĻŦāĻ sh āĻāĻ° āĻ¸āĻžāĻĨā§ āĻŦā§āĻŽāĻžāĻ¨āĻžāĻ¨ āĻšāĻŋāĻ¸āĻžāĻŦā§ āĻšāĻžāĻāĻ˛āĻžāĻāĻ āĻāĻ°āĻž āĻšāĻŦā§āĨ¤
āĻ¨āĻ¤ā§āĻ¨ āĻŦāĻŋāĻļā§āĻŦā§:
- 'āĻ¸ā§āĻĨāĻžāĻ¨ā§āĻ¯āĻŧ āĻĒāĻ āĻ¨āĻ¯ā§āĻā§āĻ¯ foo'-āĻāĻ° āĻŽāĻ¤ā§ āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- āĻ āĻ¨ā§āĻĒāĻ˛āĻŦā§āĻ§ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§.
- 'x=1 y=$x āĻā§āĻˇāĻŖāĻž āĻāĻ°ā§āĻ¨'-āĻ āĻŦā§āĻ¯āĻžāĻāĻ˛āĻŋāĻāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- āĻ¸āĻ¤āĻ°ā§āĻāĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¯āĻĻāĻŋ $? āĻāĻā§, printf, [ ], [[ ]] āĻāĻŦāĻ āĻĒāĻ°ā§āĻā§āĻˇāĻžāĻ° āĻ°āĻŋāĻāĻžāĻ°ā§āĻ¨ āĻā§āĻĄ āĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻāĻ°āĻ¤ā§ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻšāĻ¯āĻŧāĨ¤
- (..))inarray [((idx))]=val āĻ¸āĻ°āĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- āĻĒāĻžāĻāĻŋāĻāĻŖāĻŋāĻ¤ āĻĒā§āĻ°āĻ¸āĻā§āĻā§ āĻĄāĻŦāĻ˛ āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻ¸āĻāĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ¯ā§āĻ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
- a[(x+1)]=val āĻ āĻāĻŋāĻŦā§āĻ¯āĻā§āĻ¤āĻŋāĻ¤ā§ āĻŦāĻ¨ā§āĻ§āĻ¨ā§ āĻ āĻĒāĻ¸āĻžāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻ¸ā§āĻĒāĻžāĻ°āĻŋāĻļ āĻ¯ā§āĻā§āĻ¤ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§āĨ¤
āĻāĻ¤ā§āĻ¸: opennet.ru