Showing 211 of 211 total issues
Rule doesn't have all its properties in alphabetical order. Open
.nav-tabs .nav-link.active, .nav-tabs .nav-link.active:focus, .nav-tabs .nav-link.active:hover {
- Exclude checks
Unqualified attribute selectors are known to be slow. Open
[hidden] { display: none; }
- Exclude checks
Fallback border (hex or RGB) should precede RGBA border. Open
border: 1px solid rgba(0,0,0,.3);
- Exclude checks
Rule doesn't have all its properties in alphabetical order. Open
nav {
- Exclude checks
Adjoining classes: .navbar-nav .nav-link.active:hover Open
.navbar-nav .nav-link.active:hover,
- Exclude checks
Adjoining classes: .nav-tabs .nav-link.active Open
.nav-tabs .nav-link.active, .nav-tabs .nav-link.active:focus, .nav-tabs .nav-link.active:hover {
- Exclude checks
Adjoining classes: .nav-tabs .nav-link.active:focus Open
.nav-tabs .nav-link.active, .nav-tabs .nav-link.active:focus, .nav-tabs .nav-link.active:hover {
- Exclude checks
Use 'cd ... || exit' or 'cd ... || return' in case cd fails. Open
cd /app/scoreboard
- Read upRead up
- Exclude checks
Use cd ... || exit in case cd fails.
Problematic code:
cd generated_files
rm -r *.c
func(){
cd foo
do_something
}
Correct code:
cd generated_files || exit
rm -r *.c
# For functions, you may want to use return:
func(){
cd foo || return
do_something
}
Rationale:
cd
can fail for a variety of reasons: misspelled paths, missing directories, missing permissions, broken symlinks and more.
If/when it does, the script will keep going and do all its operations in the wrong directory. This can be messy, especially if the operations involve creating or deleting a lot of files.
To avoid this, make sure you handle the cases when cd
fails. Ways to do this include
-
cd foo || exit
as suggested to just abort immediately -
if cd foo; then echo "Ok"; else echo "Fail"; fi
for custom handling -
<(cd foo && cmd)
as an alternative to<(cd foo || exit; cmd)
in<(..)
,$(..)
or( )
Exceptions:
ShellCheck does not give this warning when cd
is on the left of a ||
or &&
, or the condition of a if
, while
or until
loop. Having a set -e
command anywhere in the script will disable this message, even though it won't necessarily prevent the issue.
If you are accounting for cd
failures in a way shellcheck doesn't realize, you can disable this message with a [[directive]].
Notice
Original content from the ShellCheck https://github.com/koalaman/shellcheck/wiki.
Fallback background (hex or RGB) should precede HSL background. Open
background: hsl(200, 40%, 80%);
- Exclude checks
Fallback background (hex or RGB) should precede HSL background. Open
background: hsl(86, 100%, 21%);
- Exclude checks
Fallback background-color (hex or RGB) should precede RGBA background-color. Open
background-color: rgba(182, 220, 182, 0.5);
- Exclude checks