mirror of
https://github.com/koalaman/shellcheck.git
synced 2025-10-03 19:29:44 +08:00
Fix caps and add highlighting for embedded code-blocks
55
Ignore.md
55
Ignore.md
@@ -1,56 +1,75 @@
|
|||||||
## Ignoring errors
|
## Ignoring errors
|
||||||
|
|
||||||
To ignore a shellcheck error, you can do one of three things:
|
To ignore a ShellCheck error, you can do one of three things:
|
||||||
|
|
||||||
### Ignoring one specific instance in a file
|
### Ignoring one specific instance in a file
|
||||||
|
|
||||||
Use a [[directive]] to disable a certain instance:
|
Use a [[directive]] to disable a certain instance:
|
||||||
|
|
||||||
hexToAscii() {
|
```sh
|
||||||
|
hexToAscii() {
|
||||||
# shellcheck disable=SC2059
|
# shellcheck disable=SC2059
|
||||||
printf "\x$1"
|
printf "\x$1"
|
||||||
}
|
}
|
||||||
|
```
|
||||||
|
|
||||||
You can pass multiple errors to [[directive]]:
|
You can pass multiple errors to [[directive]]:
|
||||||
|
|
||||||
# shellcheck disable=SC2116,SC2086
|
```sh
|
||||||
hash=$(echo ${hash}) # trim spaces
|
# shellcheck disable=SC2116,SC2086
|
||||||
|
hash=$(echo ${hash}) # trim spaces
|
||||||
|
```
|
||||||
|
|
||||||
### Ignoring errors in one specific run
|
### Ignoring errors in one specific run
|
||||||
|
|
||||||
Use a `-e` flag to disable a specific error when running shellcheck:
|
Use a `-e` flag to disable a specific error when running `shellcheck`:
|
||||||
|
|
||||||
$ shellcheck -e SC2059 myscript
|
```console
|
||||||
|
$ shellcheck -e SC2059 myscript
|
||||||
|
```
|
||||||
|
|
||||||
### Ignoring one or more type of error forever
|
### Ignoring one or more types of errors forever
|
||||||
|
|
||||||
As of v0.7.0 you can create a file `.shellcheckrc` in your home directory (or your project's base directory), and add `disable` directives to it:
|
As of v0.7.0 you can create a file `.shellcheckrc` in your home directory (or your project's base directory), and add `disable` directives to it:
|
||||||
|
|
||||||
$ cat ~/.shellcheckrc
|
```shellcheckrc
|
||||||
disable=SC2059
|
# ~/.shellcheckrc
|
||||||
|
disable=SC2059,SC2034 # Disable individual error codes
|
||||||
|
disable=SC1090-SC1100 # Disable a range of error codes
|
||||||
|
```
|
||||||
|
|
||||||
In earlier versions, you can set the environment variable `SHELLCHECK_OPTS` in your `.bashrc`, `/etc/profile` or equivalent:
|
In earlier versions, you can set the environment variable `SHELLCHECK_OPTS` in your `.bashrc`, `/etc/profile` or equivalent:
|
||||||
|
|
||||||
export SHELLCHECK_OPTS="-e SC2059 -e SC2034 -e SC1090"
|
```sh
|
||||||
|
export SHELLCHECK_OPTS="-e SC2059 -e SC2034 -e SC1090"
|
||||||
|
```
|
||||||
|
|
||||||
### Ignoring one or more type of error with shellcheck in Docker
|
### Ignoring one or more types of error with ShellCheck in Docker
|
||||||
|
|
||||||
Pass it to Docker directly:
|
Pass it to Docker directly:
|
||||||
|
|
||||||
docker run -e SHELLCHECK_OPTS="-e SC2059 -e SC2034 -e SC1090" -v "$PWD:/mnt" koalaman/shellcheck myscript
|
```sh
|
||||||
|
docker run -e SHELLCHECK_OPTS="-e SC2059 -e SC2034 -e SC1090" -v "$PWD:/mnt" koalaman/shellcheck myscript
|
||||||
|
```
|
||||||
|
|
||||||
Optionally you can set the `SHELLCHECK_OPTS` variable in shell:
|
Optionally you can set the `SHELLCHECK_OPTS` variable in shell:
|
||||||
|
|
||||||
export SHELLCHECK_OPTS="-e SC2059 -e SC2034 -e SC1090"
|
```sh
|
||||||
|
export SHELLCHECK_OPTS="-e SC2059 -e SC2034 -e SC1090"
|
||||||
|
```
|
||||||
|
|
||||||
and then pass it to Docker:
|
and then pass it to Docker:
|
||||||
|
|
||||||
docker run -e SHELLCHECK_OPTS="$SHELLCHECK_OPTS" -v "$PWD:/mnt" koalaman/shellcheck myscript
|
```sh
|
||||||
|
docker run -e SHELLCHECK_OPTS="$SHELLCHECK_OPTS" -v "$PWD:/mnt" koalaman/shellcheck myscript
|
||||||
|
```
|
||||||
|
|
||||||
### Ignoring all instances in a file (0.4.4+)
|
### Ignoring all instances in a file (0.4.4+)
|
||||||
Add a [[directive]] at the top of the file:
|
Add a [[directive]] at the top of the file:
|
||||||
|
|
||||||
#!/bin/sh
|
```sh
|
||||||
# shellcheck disable=SC2059
|
#!/bin/sh
|
||||||
|
# shellcheck disable=SC2059
|
||||||
|
```
|
||||||
|
|
||||||
Note that the [[directive]] must be on the first line after the shebang with versions before 0.4.6. As of 0.4.6 comments and whitespace are allowed before filewide directives.
|
Note that the [[directive]] must be on the first line after the shebang with versions before 0.4.6. As of 0.4.6 comments and whitespace are allowed before file-wide directives.
|
||||||
|
Reference in New Issue
Block a user