mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-08-25 01:47:42 +08:00
This release is dedicated to Satisfactory, even though my giant 3D ball of rat's nest conveyor belt spaghetti is anything but. CHANGELOG ## v0.11.0 - 2025-08-03 ### Added - SC2327/SC2328: Warn about capturing the output of redirected commands. - SC2329: Warn when (non-escaping) functions are never invoked. - SC2330: Warn about unsupported glob matches with [[ .. ]] in BusyBox. - SC2331: Suggest using standard -e instead of unary -a in tests. - SC2332: Warn about `[ ! -o opt ]` being unconditionally true in Bash. - SC3062: Warn about bashism `[ -o opt ]`. - Optional `avoid-negated-conditions`: suggest replacing `[ ! a -eq b ]` with `[ a -ne b ]`, and similar for -ge/-lt/=/!=/etc (SC2335). - Precompiled binaries for Linux riscv64 (linux.riscv64) ### Changed - SC2002 about Useless Use Of Cat is now disabled by default. It can be re-enabled with `--enable=useless-use-of-cat` or equivalent directive. - SC2236/SC2237 about replacing `[ ! -n .. ]` with `[ -z ]` and vice versa is now optional under `avoid-negated-conditions`. - SC2015 about `A && B || C` no longer triggers when B is a test command. - SC3012: Do not warn about `\<` and `\>` in test/[] as specified in POSIX.1-2024 - Diff output now uses / as path separator on Windows ### Fixed - SC2218 about function use-before-define is now more accurate. - SC2317 about unreachable commands is now less spammy for nested ones. - SC2292, optional suggestion for [[ ]], now triggers for Busybox. - Updates for Bash 5.3, including `${| cmd; }` and `source -p` ### Removed - SC3013: removed since the operators `-ot/-nt/-ef` are specified in POSIX.1-2024
147 lines
3.9 KiB
Plaintext
147 lines
3.9 KiB
Plaintext
Name: ShellCheck
|
|
Version: 0.11.0
|
|
Synopsis: Shell script analysis tool
|
|
License: GPL-3
|
|
License-file: LICENSE
|
|
Category: Static Analysis
|
|
Author: Vidar Holen
|
|
Maintainer: vidar@vidarholen.net
|
|
Homepage: https://www.shellcheck.net/
|
|
Build-Type: Simple
|
|
Cabal-Version: 1.18
|
|
Bug-reports: https://github.com/koalaman/shellcheck/issues
|
|
Description:
|
|
The goals of ShellCheck are:
|
|
.
|
|
* To point out and clarify typical beginner's syntax issues,
|
|
that causes a shell to give cryptic error messages.
|
|
.
|
|
* To point out and clarify typical intermediate level semantic problems,
|
|
that causes a shell to behave strangely and counter-intuitively.
|
|
.
|
|
* To point out subtle caveats, corner cases and pitfalls, that may cause an
|
|
advanced user's otherwise working script to fail under future circumstances.
|
|
|
|
Extra-Doc-Files:
|
|
README.md
|
|
CHANGELOG.md
|
|
Extra-Source-Files:
|
|
-- documentation
|
|
shellcheck.1.md
|
|
-- A script to build the man page using pandoc
|
|
manpage
|
|
-- convenience script for stripping tests
|
|
striptests
|
|
-- tests
|
|
test/shellcheck.hs
|
|
|
|
source-repository head
|
|
type: git
|
|
location: git://github.com/koalaman/shellcheck.git
|
|
|
|
library
|
|
hs-source-dirs: src
|
|
if impl(ghc < 8.0)
|
|
build-depends:
|
|
semigroups
|
|
build-depends:
|
|
-- The lower bounds are based on GHC 7.10.3
|
|
-- The upper bounds are based on GHC 9.12.1
|
|
aeson >= 1.4.0 && < 2.3,
|
|
array >= 0.5.1 && < 0.6,
|
|
base >= 4.8.0.0 && < 5,
|
|
bytestring >= 0.10.6 && < 0.13,
|
|
containers >= 0.5.6 && < 0.9,
|
|
deepseq >= 1.4.1 && < 1.6,
|
|
Diff >= 0.4.0 && < 1.1,
|
|
fgl (>= 5.7.0 && < 5.8.1.0) || (>= 5.8.1.1 && < 5.9),
|
|
filepath >= 1.4.0 && < 1.6,
|
|
mtl >= 2.2.2 && < 2.4,
|
|
parsec >= 3.1.14 && < 3.2,
|
|
QuickCheck >= 2.14.2 && < 2.17,
|
|
regex-tdfa >= 1.2.0 && < 1.4,
|
|
transformers >= 0.4.2 && < 0.7,
|
|
|
|
-- getXdgDirectory from 1.2.3.0
|
|
directory >= 1.2.3 && < 1.4,
|
|
|
|
-- When cabal supports it, move this to setup-depends:
|
|
process
|
|
exposed-modules:
|
|
ShellCheck.AST
|
|
ShellCheck.ASTLib
|
|
ShellCheck.Analytics
|
|
ShellCheck.Analyzer
|
|
ShellCheck.AnalyzerLib
|
|
ShellCheck.CFG
|
|
ShellCheck.CFGAnalysis
|
|
ShellCheck.Checker
|
|
ShellCheck.Checks.Commands
|
|
ShellCheck.Checks.ControlFlow
|
|
ShellCheck.Checks.Custom
|
|
ShellCheck.Checks.ShellSupport
|
|
ShellCheck.Data
|
|
ShellCheck.Debug
|
|
ShellCheck.Fixer
|
|
ShellCheck.Formatter.Format
|
|
ShellCheck.Formatter.CheckStyle
|
|
ShellCheck.Formatter.Diff
|
|
ShellCheck.Formatter.GCC
|
|
ShellCheck.Formatter.JSON
|
|
ShellCheck.Formatter.JSON1
|
|
ShellCheck.Formatter.TTY
|
|
ShellCheck.Formatter.Quiet
|
|
ShellCheck.Interface
|
|
ShellCheck.Parser
|
|
ShellCheck.Prelude
|
|
ShellCheck.Regex
|
|
other-modules:
|
|
Paths_ShellCheck
|
|
default-language: Haskell98
|
|
|
|
executable shellcheck
|
|
if impl(ghc < 8.0)
|
|
build-depends:
|
|
semigroups
|
|
build-depends:
|
|
aeson,
|
|
array,
|
|
base,
|
|
bytestring,
|
|
containers,
|
|
deepseq,
|
|
Diff,
|
|
directory,
|
|
fgl,
|
|
mtl,
|
|
filepath,
|
|
parsec,
|
|
QuickCheck,
|
|
regex-tdfa,
|
|
transformers,
|
|
ShellCheck
|
|
default-language: Haskell98
|
|
main-is: shellcheck.hs
|
|
|
|
test-suite test-shellcheck
|
|
type: exitcode-stdio-1.0
|
|
build-depends:
|
|
aeson,
|
|
array,
|
|
base,
|
|
bytestring,
|
|
containers,
|
|
deepseq,
|
|
Diff,
|
|
directory,
|
|
fgl,
|
|
filepath,
|
|
mtl,
|
|
parsec,
|
|
QuickCheck,
|
|
regex-tdfa,
|
|
transformers,
|
|
ShellCheck
|
|
default-language: Haskell98
|
|
main-is: test/shellcheck.hs
|