
org.sonar.l10n.shellcheck.rules.shellcheck.SC3017.html Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sonar-shellcheck-plugin Show documentation
Show all versions of sonar-shellcheck-plugin Show documentation
ShellCheck plugin for SonarQube
The newest version!
In POSIX sh, unary -a
in place of -e
is undefined.
(or "In dash, ... is not supported." when using dash
)
Problematic code
#!/bin/sh
if [ -a file.txt ]
then
echo "file.txt exists"
fi
Correct code
#!/bin/sh
if [ -e file.txt ]
then
echo "file.txt exists"
fi
Rationale
-a
was used in some shells to check for the existence of a file, but the POSIX standard and better supported equivalent is -e
.
Exceptions
If you only intend to target shells that supports this feature, you can change
the shebang to a shell that guarantees support, or [[ignore]] this warning.
You can use # shellcheck disable=SC3000-SC4000
to ignore all such compatibility
warnings.
Related resources
- Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!
© 2015 - 2025 Weber Informatics LLC | Privacy Policy