# Shell

## Language-specific properties

You can discover and update the Shell-specific [properties](/sonarqube-server/2025.6/analyzing-source-code/analysis-parameters.md) in: **Administration** > **Configuration General Settings** > **Languages** > **Shell.**

## Supported languages and syntaxes <a href="#supported-languages-and-syntaxes" id="supported-languages-and-syntaxes"></a>

The analyzer is designed to analyze Bash and POSIX shell scripts, which are the only officially supported shell flavors.

However, analysis for other shell flavors (e.g. `ksh`, `zsh`) is also possible. This support is partial, and the analyzer will perform best on scripts that use syntax compatible with or similar to POSIX and Bash. You may encounter parsing errors when analyzing scripts that rely on features or syntaxes specific to other shells. This may lead to raising issues unrelated to your shell flavor.

### Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

**Some files are not analyzed or issues are missing**

The Shell analyzer processes files in size-based batches, and each batch is given an adaptive timeout to ensure the overall project analysis completes in a timely manner. If you notice that some files are not being analyzed or issues are missing, it is likely that one or more of these batches has timed out. When a batch times out, the analysis of files within that specific batch is skipped, and the scan continues with the next batch.

You can increase the baseline timeout value, which gives each batch more time to complete. This property can be adjusted in the UI:

1. Go to **Administration** > **Configuration** > **General Settings** > **Declarative Rule Engine**.
2. Find the `sonar.dre.baselineTimeout` property and increase its value.

The property can be specified during the scanner invocation as well.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sonarsource.com/sonarqube-server/2025.6/analyzing-source-code/languages/shell.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
