{
    "content": [
        {
            "type": "text",
            "text": "# checkbashisms (man)\n\n## NAME\n\ncheckbashisms - check for bashisms in /bin/sh scripts\n\n## SYNOPSIS\n\ncheckbashisms script ...\ncheckbashisms --help|--version\n\n## DESCRIPTION\n\ncheckbashisms,  based  on one of the checks from the lintian system, performs basic checks on\n/bin/sh shell scripts for the possible presence of bashisms.  It takes the names of the shell\nscripts on the command line, and outputs warnings if possible bashisms are detected.\n\n## Sections\n\n- **NAME**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **OPTIONS**\n- **EXIT VALUES**\n- **SEE ALSO**\n- **AUTHOR**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "checkbashisms",
        "section": "",
        "mode": "man",
        "summary": "checkbashisms - check for bashisms in /bin/sh scripts",
        "synopsis": "checkbashisms script ...\ncheckbashisms --help|--version",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [
            {
                "name": "lintian",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/lintian/1/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 11,
                "subsections": []
            },
            {
                "name": "OPTIONS",
                "lines": 31,
                "subsections": []
            },
            {
                "name": "EXIT VALUES",
                "lines": 10,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "AUTHOR",
                "lines": 6,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "checkbashisms - check for bashisms in /bin/sh scripts\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "checkbashisms script ...\ncheckbashisms --help|--version\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "checkbashisms,  based  on one of the checks from the lintian system, performs basic checks on\n/bin/sh shell scripts for the possible presence of bashisms.  It takes the names of the shell\nscripts on the command line, and outputs warnings if possible bashisms are detected.\n\nNote  that  the  definition  of a bashism in this context roughly equates to \"a shell feature\nthat is not required to be supported by POSIX\"; this means that some issues  flagged  may  be\npermitted under optional sections of POSIX, such as XSI or User Portability.\n\nIn  cases  where POSIX and Debian Policy disagree, checkbashisms by default allows extensions\npermitted by Policy but may also provide options for stricter checking.\n",
                "subsections": []
            },
            "OPTIONS": {
                "content": "--help, -h\nShow a summary of options.\n\n--newline, -n\nCheck for \"echo -n\" usage (non POSIX but required by Debian Policy 10.4.)\n\n--posix, -p\nCheck for issues which are non POSIX but required to be  supported  by  Debian  Policy\n10.4 (implies -n).\n\n--force, -f\nForce  each  script  to be checked, even if it would normally not be (for instance, it\nhas a bash or non POSIX shell shebang or appears to be a shell wrapper).\n\n--lint, -l\nAct like a linter, for integration into a  text  editor.  Possible  bashisms  will  be\nprinted in stdout, like so:\n\n{filename}:{lineno}:1: warning: possible bashism; {explanation}\n\n--extra, -x\nHighlight lines which, whilst they do not contain bashisms, may be useful in determin‐\ning whether a particular issue is a false positive which may be ignored.  For example,\nthe use of \"$BASHENV\" may be preceded by checking whether \"$BASH\" is set.\n\n--early-fail, -e\nExit right after a first error is seen.\n\n--version, -v\nShow version and copyright information.\n",
                "subsections": []
            },
            "EXIT VALUES": {
                "content": "The  exit value will be 0 if no possible bashisms or other problems were detected.  Otherwise\nit will be the sum of the following error values:\n\n1      A possible bashism was detected.\n\n2      A file was skipped for some reason, for example, because  it  was  unreadable  or  not\nfound.  The warning message will give details.\n\n4      No bashisms were detected in a bash script.\n",
                "subsections": []
            },
            "SEE ALSO": {
                "content": "lintian(1)\n",
                "subsections": []
            },
            "AUTHOR": {
                "content": "checkbashisms was originally written as a shell script by Yann Dirson <dirson@debian.org> and\nrewritten in Perl with many more features by Julian Gilbey <jdg@debian.org>.\n\n\n\nDEBIAN                                    Debian Utilities                          CHECKBASHISMS(1)",
                "subsections": []
            }
        }
    }
}