# phpman > man > checkbashisms(1)

[CHECKBASHISMS(1)](https://www.chedong.com/phpMan.php/man/CHECKBASHISMS/1/markdown)                       General Commands Manual                      [CHECKBASHISMS(1)](https://www.chedong.com/phpMan.php/man/CHECKBASHISMS/1/markdown)



## NAME
       checkbashisms - check for bashisms in /bin/sh scripts

## SYNOPSIS
       **checkbashisms** _script_ ...
       **checkbashisms** **--help**|**--version**

## DESCRIPTION
       **checkbashisms**,  based  on one of the checks from the **lintian** system, performs basic checks on
       _/bin/sh_ shell scripts for the possible presence of bashisms.  It takes the names of the shell
       scripts on the command line, and outputs warnings if possible bashisms are detected.

       Note  that  the  definition  of a bashism in this context roughly equates to "a shell feature
       that is not required to be supported by POSIX"; this means that some issues  flagged  may  be
       permitted under optional sections of POSIX, such as XSI or User Portability.

       In  cases  where POSIX and Debian Policy disagree, **checkbashisms** by default allows extensions
       permitted by Policy but may also provide options for stricter checking.

## OPTIONS
       **--help**, **-h**
              Show a summary of options.

       **--newline**, **-n**
              Check for "**echo** **-n**" usage (non POSIX but required by Debian Policy 10.4.)

       **--posix**, **-p**
              Check for issues which are non POSIX but required to be  supported  by  Debian  Policy
              10.4 (implies **-n**).

       **--force**, **-f**
              Force  each  script  to be checked, even if it would normally not be (for instance, it
              has a bash or non POSIX shell shebang or appears to be a shell wrapper).

       **--lint**, **-l**
              Act like a linter, for integration into a  text  editor.  Possible  bashisms  will  be
              printed in stdout, like so:

              _{filename}:{lineno}:1:_ _warning:_ _possible_ _bashism;_ _{explanation}_

       **--extra**, **-x**
              Highlight lines which, whilst they do not contain bashisms, may be useful in determin‐
              ing whether a particular issue is a false positive which may be ignored.  For example,
              the use of "**$BASH**___**ENV**" may be preceded by checking whether "**$BASH**" is set.

       **--early-fail**, **-e**
              Exit right after a first error is seen.

       **--version**, **-v**
              Show version and copyright information.

## EXIT VALUES
       The  exit value will be 0 if no possible bashisms or other problems were detected.  Otherwise
       it will be the sum of the following error values:

       1      A possible bashism was detected.

       2      A file was skipped for some reason, for example, because  it  was  unreadable  or  not
              found.  The warning message will give details.

       4      No bashisms were detected in a bash script.

## SEE ALSO
       [**lintian**(1)](https://www.chedong.com/phpMan.php/man/lintian/1/markdown)

## AUTHOR
       **checkbashisms** was originally written as a shell script by Yann Dirson <<_dirson@debian.org_>> and
       rewritten in Perl with many more features by Julian Gilbey <<_jdg@debian.org_>>.



DEBIAN                                    Debian Utilities                          [CHECKBASHISMS(1)](https://www.chedong.com/phpMan.php/man/CHECKBASHISMS/1/markdown)
