Статический анализ Bash-скриптов

Статический анализ Bash-скриптов #

Андрей Михайлович Васильев, 2025

Версии презентации


Проверка качества скриптов #

Язык Bash имеет множество отличий в семантике работы от привычных языков программирования, поэтому надо быть осторожным с переносом своих привычек на язык Bash

Для проверки Bash-кода на наличие проблем рекомендуется использовать статический анализатор кода ShellCheck

Для установки его в Alt Linux необходимо от имени сyперпользователя

apt-get install shellcheck

Пример использования ShellCheck #

#!/bin/bash

until [ -z $1 ]  # Until all parameters used up . . .
do
  echo -n "$1 "
  shift
done
$ shellcheck test.sh

In test.sh line 3:
until [ -z $1 ]  # Until all parameters used up . . .
           ^-- SC2086: Double quote to prevent globbing and word splitting.

Did you mean:
until [ -z "$1" ]  # Until all parameters used up . . .

For more information:
  https://www.shellcheck.net/wiki/SC2086 -- Double quote to prevent globbing ...

© A. M. Васильев, 2025, CC BY-SA 4.0, andrey@crafted.su