- SC1000 $ is not used specially and should therefore be escaped.
-
SC1001 This
\o
will be a regular 'o' in this context. - SC1003 Want to escape a single quote? echo 'This is how it'\''s done'.
- SC1004 This backslash+linefeed is literal. Break outside single quotes if you just want to break the line.
- SC1007 Remove space after = if trying to assign a value (or for empty string, use var='' ... ).
- SC1008 This shebang was unrecognized. ShellCheck only supports sh/bash/dash/ksh. Add a 'shell' directive to specify.
- SC1009 The mentioned parser error was in ...
- SC1010 Use semicolon or linefeed before 'done' (or quote to make it literal).
- SC1011 This apostrophe terminated the single quoted string!
-
SC1012
\t
is just literalt
here. For tab, use"$(printf '\t')"
instead. - SC1014 Use 'if cmd; then ..' to check exit code, or 'if [ "$(cmd)" = .. ]' to check output.
- SC1015 This is a unicode double quote. Delete and retype it.
- SC1016 This is a Unicode single quote. Delete and retype it.
-
SC1017 Literal carriage return. Run script through
tr -d '\r'
. - SC1018 This is a unicode non-breaking space. Delete it and retype as space.
- SC1019 Expected this to be an argument to the unary condition.
- SC1020 You need a space before the if single then "]" else "]]"
- SC1026 If grouping expressions inside [[..]], use ( .. ).
- SC1027 New page
- SC1028 In [..] you have to escape \( \) or preferably combine [..] expressions.
-
SC1029 In
[[..]]
you shouldn't escape(
or)
. - SC1035 You need a space here
-
SC1036
(
is invalid here. Did you forget to escape it? - SC1037 Braces are required for positionals over 9, e.g. ${10}.
- SC1038 Shells are space sensitive. Use '< <(cmd)', not '<<(cmd)'.
-
SC1039 Remove indentation before end token (or use
<<-
and indent with tabs). - SC1040 When using <<-, you can only indent with tabs.
- SC1041 Found 'eof' further down, but not on a separate line.
- SC1042 Found 'eof' further down, but not on a separate line.
- SC1044 Couldn't find end token `EOF' in the here document.
- SC1045 It's not 'foo &; bar', just 'foo & bar'.
- SC1046 Couldn't find 'fi' for this 'if'.
- SC1047 "Expected 'fi' matching previously mentioned 'if'.
- SC1048 Can't have empty then clauses (use 'true' as a no-op).
- SC1049 Did you forget the 'then' for this 'if'?
- SC1050 Expected 'then'.
- SC1051 Semicolons directly after 'then' are not allowed. Just remove it.
- SC1052 Semicolons directly after 'then' are not allowed. Just remove it.
- SC1053 Semicolons directly after 'else' are not allowed. Just remove it.
- SC1054 You need a space after the '{'.
-
SC1058 Expected
do
. - SC1061 Couldn't find 'done' for this 'do'.
- SC1062 Expected 'done' matching previously mentioned 'do'.
- SC1064 Expected a { to open the function definition.
- SC1065 Trying to declare parameters? Don't. Use () and refer to params as $1, $2..
- SC1066 Don't use $ on the left side of assignments.
-
SC1067 For indirection, use arrays,
declare "var$n=value"
, or (for sh) read/eval - SC1068 Don't put spaces around the = in assignments.
- SC1069 You need a space before the [.
- SC1070 Parsing stopped here. Mismatched keywords or invalid parentheses?
- SC1071 ShellCheck only supports sh/bash/dash/ksh scripts. Sorry!
- SC1072 Unexpected ..
- SC1073 Couldn't parse this (thing). Fix to allow more checks.
- SC1075 Use 'elif' instead of 'else if'.
- SC1077 For command expansion, the tick should slant left (` vs ´).
- SC1078 Did you forget to close this double quoted string?
- SC1079 This is actually an end quote, but due to next char it looks suspect.
- SC1081 Scripts are case sensitive. Use 'if', not 'If'.
- SC1082 This file has a UTF-8 BOM. Remove it with: LC_CTYPE=C sed '1s/^...//' < yourscript .
-
SC1083 This
{
/}
is literal. Check expression (missing;/\n?
) or quote it. - SC1084 Use #!, not !#, for the shebang.
- SC1086 Don't use $ on the iterator name in for loops.
- SC1087 "Use braces when expanding arrays, e.g. ${array[idx]} (or ${var}[.. to quiet)."
- SC1088 Parsing stopped here. Invalid use of parentheses?
- SC1089 Parsing stopped here. Is this keyword correctly matched up?
- SC1090 Can't follow non-constant source. Use a directive to specify location.
- SC1091 Not following: (error message here)
- SC1094 Parsing of sourced file failed. Ignoring it.
- SC1095 You need a space or linefeed between the function name and body.
- SC1097 Unexpected ==. For assignment, use =. For comparison, use [/[[.
- SC1098 Quote/escape special characters when using eval, e.g. eval "a=(b)".
- SC1099 You need a space before the #.
- SC1100 This is a unicode dash. Delete and retype as ASCII minus.
- SC1101 Delete trailing spaces after \ to break line (or use quotes for literal space).
-
SC1102 Shells disambiguate
$((
differently or not at all. For$(command substition)
, add space after$(
. For$((arithmetics))
, fix parsing errors. - SC1104 Use #!, not just !, for the shebang.
- SC1105 Shells disambiguate (( differently or not at all. If the first ( should start a subshell, add a space after it.
- SC1107 This directive is unknown. It will be ignored.
- SC1108 You need a space before and after the = .
- SC1109 This is an unquoted HTML entity. Replace with corresponding character.
- SC1110 This is a unicode quote. Delete and retype it (or quote to make literal).
- SC1111 This is a unicode quote. Delete and retype it (or ignore/singlequote for literal).
- SC1112 This is a unicode quote. Delete and retype it (or ignore/doublequote for literal).
- SC1113 Use #!, not just #, for the shebang.
- SC1114 Remove leading spaces before the shebang.
- SC1115 Remove spaces between # and ! in the shebang.
- SC1116 Missing $ on a $((..)) expression? (or use ( ( for arrays).
-
SC1117 Backslash is literal in
"\n"
. Prefer explicit escaping:"\\n"
. - SC1118 Delete whitespace after the here-doc end token.
- SC1119 Add a linefeed between end token and terminating ')'.
- SC1120 No comments allowed after here-doc token. Comment the next line instead.
- SC1121 Add ;/& terminators (and other syntax) on the line with the <<, not here.
-
SC1122 Nothing allowed after end token. To continue a command, put it on the line with the
<<
. -
SC1123 ShellCheck directives are only valid in front of complete compound commands, like
if
, not e.g. individualelif
branches. - SC1124 ShellCheck directives are only valid in front of complete commands like 'case' statements, not individual case branches.
- SC1125 Invalid key=value pair in directive
- SC1126 Place shellcheck directives before commands, not after.
-
SC1127 Was this intended as a comment? Use
#
in sh. - SC1128 The shebang must be on the first line. Delete blanks and move comments.
- SC1129 You need a space before the !.
- SC1130 You need a space before the :.
-
SC1131 Use
elif
to start another branch. -
SC1132 This
&
terminates the command. Escape it or add space after&
to silence. - SC1133 Unexpected start of line. If breaking lines, |/||/&& should be at the end of the previous one.
-
SC1135 Prefer escape over ending quote to make
$
literal. Instead of"It costs $"5
, use"It costs \$5"
-
SC1136 Unexpected characters after terminating
]
. Missing semicolon/linefeed? - SC2000 See if you can use ${#variable} instead
- SC2001 SC2001: See if you can use ${variable//search/replace} instead.
- SC2002 Useless cat. Consider 'cmd < file | ..' or 'cmd file | ..' instead.
-
SC2003 expr is antiquated. Consider rewriting this using
$((..)), $ {} or [[ ]]. -
SC2004
$/$ {} is unnecessary on arithmetic variables. -
SC2005 Useless
echo
? Instead ofecho $(cmd)
, just usecmd
-
SC2006 Use
$(...)
notation instead of legacy backticked`...`
. -
SC2007 Use
$((..)) instead of deprecated $ [..] - SC2008 echo doesn't read from stdin, are you sure you should be piping to it?
- SC2009 SC2009 Consider using pgrep instead of grepping ps output.
- SC2010 Don't use ls | grep. Use a glob or a for loop with a condition to allow non-alphanumeric filenames.
-
SC2011 Use
find -print0
orfind -exec
to better handle non-alphanumeric filenames. -
SC2012 Use
find
instead ofls
to better handle non-alphanumeric filenames. - SC2013 To read lines rather than words, pipe/redirect to a 'while read' loop.
- SC2014 This will expand once before find runs, not per file found.
- SC2015 Note that A && B || C is not if-then-else. C may run when A is true.
- SC2016 Expressions don't expand in single quotes, use double quotes for that.
- SC2017 Increase precision by replacing a/b*c with a*c/b.
- SC2018 Use '[:lower:]' to support accents and foreign alphabets.
- SC2019 Use '[:upper:]' to support accents and foreign alphabets.
- SC2020 tr replaces sets of chars, not words (mentioned due to duplicates).
- SC2021 Don't use [] around ranges in tr, it replaces literal square brackets.
- SC2022 Note that unlike globs, o* here matches 'ooo' but not 'oscar'
-
SC2024
sudo
doesn't affect redirects. Use..| sudo tee file
-
SC2025 Make sure all escape sequences are enclosed in
\[..\]
to prevent line wrapping issues -
SC2026 This word is outside of quotes. Did you intend to
'nest '"'single quotes'"'
instead'? - SC2027 The surrounding quotes actually unquote this. Remove or escape them.
- SC2028 echo won't expand escape sequences. Consider printf.
- SC2029 Note that, unescaped, this expands on the client side.
- SC2030 Modification of var is local (to subshell caused by pipeline).
- SC2031 var was modified in a subshell. That change might be lost.
- SC2032 Use own script or sh -c '..' to run this from su.
- SC2033 Shell functions can't be passed to external commands.
- SC2034 foo appears unused. Verify it or export it.
- SC2035 Use ./*glob* or -- *glob* so names with dashes won't become options.
- SC2036 If you wanted to assign the output of the pipeline, use a=$(b | c) .
- SC2037 To assign the output of a command, use var=$(cmd) .
- SC2038 Use -print0/-0 or find -exec + to allow for non-alphanumeric filenames.
- SC2039 In POSIX sh, something is undefined.
- SC2040 !/bin/sh was specified, so ____ is not supported, even when sh is actually bash.
- SC2041 This is a literal string. To run as a command, use $(..) instead of '..' .
-
SC2043 This loop will only ever run once for a constant value. Did you perhaps mean to loop over dir/*,
$var or $ (cmd)?" - SC2044 For loops over find output are fragile. Use find -exec or a while read loop.
- SC2045 Iterating over ls output is fragile. Use globs.
- SC2046 Quote this to prevent word splitting
- SC2048 Use "$@" (with quotes) to prevent whitespace problems.
- SC2049 =~ is for regex, but this looks like a glob. Use = instead.
-
SC2050 This expression is constant. Did you forget the
$
on a variable? - SC2051 Bash doesn't support variables in brace range expansions.
- SC2053 Quote the rhs of = in [[ ]] to prevent glob matching.
- SC2054 Use spaces, not commas, to separate array elements.
- SC2055 You probably wanted && here, otherwise it's always true.
- SC2056 You probably wanted && here
- SC2057 Unknown binary operator.
- SC2058 Unknown unaryoperator.
- SC2059 Don't use variables in the printf format string. Use printf "..%s.." "$foo".
- SC2060 Quote parameters to tr to prevent glob expansion.
- SC2061 Quote the parameter to -name so the shell won't interpret it.
- SC2062 Quote the grep pattern so the shell won't interpret it.
- SC2063 Grep uses regex, but this looks like a glob.
- SC2064 Use single quotes, otherwise this expands now rather than when signalled.
- SC2065 This is interpreted as a shell file redirection, not a comparison.
- SC2066 Since you double quoted this, it will not word split, and the loop will only run once.
- SC2067 Missing ';' or + terminating -exec. You can't use |/||/&&, and ';' has to be a separate, quoted argument.
- SC2068 Double quote array expansions to avoid re-splitting elements.
- SC2069 To redirect stdout+stderr, 2>&1 must be last (or use '{ cmd > file; } 2>&1' to clarify).
-
SC2070
-n
doesn't work with unquoted arguments. Quote or use[[ ]]
. - SC2071 > is for string comparisons. Use -gt instead.
- SC2072 Decimals are not supported. Either use integers only, or use bc or awk to compare.
-
SC2073 Escape
\<
to prevent it redirecting (or switch to[[ .. ]]
). -
SC2074 Can't use
=~
in[ ]
. Use[[..]]
instead. - SC2076 Don't quote rhs of =~, it'll match literally rather than as a regex.
- SC2077 You need spaces around the comparison operator.
-
SC2078 This expression is constant. Did you forget a
$
somewhere? - SC2079 (( )) doesn't support decimals. Use bc or awk.
- SC2080 Numbers with leading 0 are considered octal.
-
SC2081
[ .. ]
can't match globs. Use[[ .. ]]
or grep. - SC2082 To expand via indirection, use name="foo$n"; echo "${!name}".
- SC2084 Remove '$' or use '_=$((expr))' to avoid executing output.
- SC2086 Double quote to prevent globbing and word splitting.
- SC2087 Quote 'EOF' to make here document expansions happen on the server side rather than on the client.
- SC2088 Tilde does not expand in quotes. Use $HOME.
- SC2089 Quotes/backslashes will be treated literally. Use an array.
- SC2090 Quotes/backslashes in this variable will not be respected.
- SC2091 Remove surrounding $() to avoid executing output.
- SC2092 Remove backticks to avoid executing output.
- SC2093 Remove "exec " if script should continue after this command.
- SC2094 SC2094 Make sure not to read and write the same file in the same pipeline.
- SC2095 Use ssh -n to prevent ssh from swallowing stdin.
- SC2096 On most OS, shebangs can only specify a single parameter.
- SC2097 This assignment is only seen by the forked process.
- SC2098 This expansion will not see the mentioned assignment.
-
SC2099 Use
$((..))
for arithmetics, e.g.i=$((i + 2))
-
SC2100 Use
$((..))
for arithmetics, e.g.i=$((i + 2))
- SC2101 Named class needs outer [], e.g. [[:digit:]].
- SC2102 Ranges can only match single chars (mentioned due to duplicates).
- SC2103 Use a ( subshell ) to avoid having to cd back.
- SC2104 In functions, use return instead of break.
-
SC2105
break
is only valid in loops - SC2106 SC2106: This only exits the subshell caused by the pipeline.
- SC2107 Instead of [ a && b ], use [ a ] && [ b ].
- SC2108 In [[..]], use && instead of -a.
- SC2109 Instead of [ a || b ], use [ a ] || [ b ].
- SC2110 In [[..]], use || instead of -o.
- SC2112 'function' keyword is non-standard. Delete it.
- SC2114 Warning: deletes a system directory.
- SC2115 Use "${var:?}" to ensure this never expands to /* .
- SC2116 SC2116 Useless echo? Instead of 'cmd $(echo foo)', just use 'cmd foo'.
- SC2117 To run commands as another user, use su -c or sudo.
- SC2119 Use foo "$@" if function's $1 should mean script's $1.
- SC2120 foo references arguments, but none are ever passed.
- SC2121 To assign a variable, use just 'var=value', no 'set ..'.
- SC2122 >= is not a valid operator. Use '! a < b' instead.
- SC2123 PATH is the shell search path. Use another name.
- SC2124 Assigning an array to a string! Assign as array, or use * instead of @ to concatenate.
- SC2125 Brace expansions and globs are literal in assignments. Quote it or use an array.
-
SC2126 Consider using
grep -c
instead ofgrep | wc
- SC2128 Expanding an array without an index only gives the first element.
- SC2129 Consider using { cmd1; cmd2; } >> file instead of individual redirects.
- SC2130 -eq is for integer comparisons. Use = instead.
- SC2139 This expands when defined, not when used. Consider escaping.
- SC2140 Word is on the form "A"B"C" (B indicated). Did you mean "ABC" or "A\"B\"C"?
- SC2141 Did you mean IFS=$'\t' ?
- SC2142 Aliases can't use positional parameters. Use a function.
- SC2143 Use grep -q instead of comparing output with [ -n .. ].
- SC2144 -e doesn't work with globs. Use a for loop.
- SC2145 Argument mixes string and array. Use * or separate argument.
- SC2146 This action ignores everything before the -o. Use \( \) to group.
- SC2147 Literal tilde in PATH works poorly across programs.
- SC2148 Add a shebang line to the top of your script:
-
SC2149 Remove
$/$ {} for numeric index, or escape it for string. - SC2150 -exec does not automatically invoke a shell. Use -exec sh -c .. for that.
- SC2151 Only one integer 0-255 can be returned. Use stdout for other data.
- SC2152 Can only return 0-255. Other data should be written to stdout.
- SC2153 Possible Misspelling: MYVARIABLE may not be assigned, but MY_VARIABLE is.
- SC2154 var is referenced but not assigned.
- SC2155 Declare and assign separately to avoid masking return values.
- SC2156 Injecting filenames is fragile and insecure. Use parameters.
- SC2157 Argument to implicit -n is always true due to literal strings.
- SC2158 [ false ] is true. Remove the brackets
- SC2159 [ 0 ] is true. Use 'false' instead
- SC2160 Instead of '[ true ]', just use 'true'.
- SC2161 Instead of '[ 1 ]', use 'true'.
- SC2162 read without -r will mangle backslashes
-
SC2163 This does not export 'FOO'. Remove
$/$ {} for that, or use ${var?} to quiet. - SC2164 Use cd ... || exit in case cd fails.
- SC2165 This nested loop overrides the index variable of its parent.
- SC2166 Prefer [ p ] && [ q ] as [ p -a q ] is not well defined.
- SC2167 This parent loop has its index variable overridden.
- SC2168 'local' is only valid in functions.
- SC2169 In dash, something is not supported.
- SC2170 Numerical -eq does not dereference in [..]. Expand or use string operator.
- SC2171 Found trailing ] outside test. Add missing [ or quote if intentional.
- SC2172 Trapping signals by number is not well defined. Prefer signal names.
- SC2173 SIGKILL/SIGSTOP can not be trapped.
- SC2174 When used with -p, -m only applies to the deepest directory.
- SC2175 Quote this invalid brace expansion since it should be passed literally to eval
- SC2176 'time' is undefined for pipelines. time single stage or bash -c instead.
- SC2177 'time' is undefined for compound commands, time sh -c instead.
- SC2178 Variable was used as an array but is now assigned a string.
- SC2179 Use array+=("item") to append items to an array.
- SC2180 Bash does not support multidimensional arrays. Use 1D or associative arrays.
- SC2181 Check exit code directly with e.g. 'if mycmd;', not indirectly with $?.
- SC2182 This printf format string has no variables. Other arguments are ignored.
- SC2183 This format string has 2 variables, but is passed 1 arguments.
- SC2184 Quote arguments to unset so they're not glob expanded.
- SC2185 Some finds don't have a default path. Specify '.' explicitly.
- SC2186 tempfile is deprecated. Use mktemp instead.
- SC2187 Ash scripts will be checked as Dash. Add '# shellcheck shell=dash' to silence.
- SC2188 This redirection doesn't have a command. Move to its command (or use 'true' as no-op).
- SC2189 You can't have | between this redirection and the command it should apply to.
- SC2190 Elements in associative arrays need index, e.g. array=( [index]=value ) .
- SC2191 The = here is literal. To assign by index, use ( [index]=value ) with no spaces. To keep as literal, quote it.
- SC2192 This array element has no value. Remove spaces after = or use "" for empty string.
- SC2193 The arguments to this comparison can never be equal. Make sure your syntax is correct.
- SC2194 This word is constant. Did you forget the $ on a variable?
- SC2195 This pattern will never match the case statement's word. Double check them.
- SC2196 egrep is non-standard and deprecated. Use grep -E instead.
- SC2197 fgrep is non-standard and deprecated. Use grep -F instead.
- SC2198 Arrays don't work as operands in [ ]. Use a loop (or concatenate with * instead of @).
-
SC2199 Arrays implicitly concatenate in
[[ ]]
. Use a loop (or explicit * instead of @). - SC2200 Brace expansions don't work as operands in [ ]. Use a loop.
-
SC2201 Brace expansion doesn't happen in
[[ ]]
. Use a loop. - SC2202 Globs don't work as operands in [ ]. Use a loop.
-
SC2203 Globs are ignored in
[[ ]]
except right of =/!=. Use a loop. - SC2204 (..) is a subshell. Did you mean [ .. ], a test expression?
- SC2205 (..) is a subshell. Did you mean [ .. ], a test expression?
- SC2206 Quote to prevent word splitting/globbing, or split robustly with mapfile or read -a.
- SC2207 Prefer mapfile or read -a to split command output (or quote to avoid splitting).
-
SC2208 Use
[[ ]]
or quote arguments to -v to avoid glob expansion. - SC2209 Use var=$(command) to assign output (or quote to assign string).
- SC2210 This is a file redirection. Was it supposed to be a comparison or fd operation?
- SC2211 This is a glob used as a command name. Was it supposed to be in ${..}, array, or is it missing quoting?
- SC2212 Use 'false' instead of empty [/[[ conditionals.
- SC2213 getopts specified -n, but it's not handled by this 'case'.
- SC2214 This case is not specified by getopts.
-
SC2215 This flag is used as a command name. Bad line break or missing
[ .. ]
? - SC2216 Piping to 'rm', a command that doesn't read stdin. Wrong command or missing xargs?
- SC2217 Redirecting to 'echo', a command that doesn't read stdin. Bad quoting or missing xargs?
- SC2218 This function is only defined later. Move the definition up.
-
SC2219 Instead of
let expr
, prefer(( expr ))
. -
SC2220 Invalid flags are not handled. Add a
*)
case. - SC2221 This pattern always overrides a later one.
- SC2222 This pattern never matches because of a previous pattern.
- SC2223 This default assignment may cause DoS due to globbing. Quote it.
- SC2224 This mv has no destination. Check the arguments.
- SC2225 This cp has no destination. Check the arguments.
- SC2226 This ln has no destination. Check the arguments, or specify '.' explicitly.
- SC2227 Redirection applies to the find command itself. Rewrite to work per action (or move to end).
-
SC2229 This does not read 'foo'. Remove
$/$ {} for that, or use ${var?} to quiet. - SC2230 which is non-standard. Use builtin 'command -v' instead.
- SC2231 Quote expansions in this for loop glob to prevent wordsplitting, e.g. "$dir"/*.txt .
- SC2232 Can't use sudo with builtins like cd. Did you want sudo sh -c .. instead?
-
SC2233 Remove superfluous
(..)
around condition. -
SC2234 Remove superfluous
(..)
around test command. -
SC2235 Use
{ ..; }
instead of(..)
to avoid subshell overhead. -
SC2236 Use
-n
instead of! -z
. -
SC2237 Use
[ -n .. ]
instead of! [ -z .. ]
. - SC2238 Redirecting to/from command name instead of file. Did you want pipes/xargs (or quote to ignore)?
- SC2239 Ensure the shebang uses the absolute path to the interpreter.
- SC2240 The dot command does not support arguments in sh/dash. Set them as variables.
- SC2241 The exit status can only be one integer 0-255. Use stdout for other data.
- SC2242 Can only exit with status 0-255. Other data should be written to stdout/stderr.
- SC2243 Prefer explicit -n to check for output (or run command without [/[[ to check for success)
- SC2244 Prefer explicit -n to check non-empty string (or use =/-ne to check boolean/integer).
- SC2245 -d only applies to the first expansion of this glob. Use a loop to check any/all.
- SC2246 This shebang specifies a directory. Ensure the interpreter is a file.
- SC2247 Flip leading $ and " if this should be a quoted substitution.
- SC2248 Warn about variable references without braces.
- SC2249 Consider adding a default *) case, even if it just exits with error.
- SC2250 Prefer putting braces around variable references even when not strictly required.
-
SC2251 This ! is not on a condition and skips errexit. Use
&& exit 1
instead, or make sure $? is checked. - SC2252 You probably wanted && here, otherwise it's always true.
- SC2253 Use -R to recurse, or explicitly a-r to remove read permissions.
- SC2254 Quote expansions in case patterns to match literally rather than as a glob.
-
SC2255
[ ]
does not apply arithmetic evaluation. Evaluate with$((..))
for numbers, or use string comparator for strings. - SC2256 This translated string is the name of a variable. Flip leading $ and " if this should be a quoted substitution.
- SC2257 Arithmetic modifications in command redirections may be discarded. Do them separately.
- SC2259 This redirection overrides piped input. To use both, merge or pass filenames.
- SC2260 This redirection overrides the output pipe. Use 'tee' to output to both.
- SC2261 Multiple redirections compete for stdout. Use cat, tee, or pass filenames instead.
- SC2262 This alias can't be defined and used in the same parsing unit. Use a function instead.
- SC2263 See companion warning [[SC2262]]
Last active
September 13, 2024 20:42
-
-
Save nicerobot/53cee11ee0abbdc997661e65b348f375 to your computer and use it in GitHub Desktop.
Enumerated shellcheck codes https://github.com/koalaman/shellcheck/wiki/Checks
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
git clone git@github.com:koalaman/shellcheck.wiki.git | |
cd shellcheck.wiki | |
head -1 SC*.md \ | |
| perl -p -e 's/\n//g;s/==>/\n/g;' \ | |
| perl -p -e 's!^\s*(SC\d+)\s*[.]md\s*<==(##)?(\s|#)*![$1](https://github.com/koalaman/shellcheck/wiki/$1) !' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Manipulating this list with JavaScript
How to scrape from the this page using ☰ ➡️ More Tools ➡️ Developer Tools ➡️ Console in the browser:
scrape.js
:Get as Text:
Get as JSON:
Re: