У вас проблемы со сценарием Bash, который вы написали для ПК с Linux? Вместо того, чтобы просматривать бесчисленные потоки на StackExchange в поисках помощи по программированию, рассмотрите возможность использования инструмента ShellCheck для отладки сценариев Linux Bash и автоматического поиска ошибок в вашем коде.
Оглавление
Получить ShellCheck
ShellCheck — полезный инструмент, но он не входит в стандартную комплектацию вашей операционной системы Linux. Вместо этого, если вы хотите его использовать, вам сначала нужно его установить. В этом руководстве мы расскажем, как установить ShellCheck из различных официальных источников программного обеспечения. Кроме того, мы также покажем вам, как заставить программу работать через общий двоичный файл Linux.
Откройте окно терминала и обновите свои пакеты. Затем следуйте инструкциям, которые соответствуют вашей операционной системе Linux.
Ubuntu
ShellCheck находится в официальных источниках программного обеспечения Ubuntu, поэтому установить его довольно просто. В терминале используйте диспетчер пакетов Apt и получите последнюю версию ShellCheck.
sudo apt install shellcheck
Debian
В Debian Stable есть более старая версия ShellCheck, готовая к установке пользователями. Имейте в виду, что эта версия задерживается из-за того, как работает Debian.
Примечание: хотите более новую версию программы ShellCheck? Следуйте нашему руководству и узнайте, как установить более современное программное обеспечение на Debian.
sudo apt-get install shellcheck
Arch Linux
Чтобы получить ShellCheck в Arch Linux, вам сначала нужно включить программный репозиторий «Сообщество». Для включения «Сообщества» необходимо отредактировать файл Pacman.conf. Чтобы отредактировать файл, откройте Pacman.conf в Nano.
sudo nano /etc/pacman.conf
Прокрутите (с помощью клавиш со стрелками) и найдите раздел «Сообщество» файла. Удалите все вхождения символа # (около трех строк). Затем сохраните изменения, нажав кнопку Ctrl + O.
После внесения новых изменений в Pacman.conf нажмите Ctrl + X, чтобы закрыть Nano. Затем повторно синхронизируйте Pacman, чтобы настроить доступ к репозиторию Arch Linux «Сообщество».
sudo pacman -Syyuu
Наконец, установите ShellCheck в Arch Linux с помощью:
sudo pacman -S shellcheck
Fedora
Чтобы получить инструмент анализа скриптов ShellCheck в Fedora Linux, откройте терминал и используйте инструмент управления пакетами DNF.
sudo dnf install ShellCheck
OpenSUSE
Установка ShellCheck на OpenSUSE не требует особых действий, как это есть в основных источниках программного обеспечения дистрибутива. Чтобы получить его, введите следующую команду пакета Zypper в окне терминала.
sudo zypper install ShellCheck
Общий Linux
Пользователи менее известных дистрибутивов Linux, которым нужен доступ к инструменту анализа сценариев ShellCheck, должны установить универсальный двоичный выпуск. К счастью, этот двоичный выпуск легко установить и не требует переделки исходного кода. Чтобы заставить его работать, выполните следующие действия!
Шаг 1: экспортируйте версию ShellCheck, которую вы собираетесь загрузить, в среду своего терминала.
export scversion="stable" # or "v0.4.7", or "latest"
Шаг 2: используя инструмент загрузки wget, скачайте последнюю версию двоичного кода ShellCheck.
wget "https://storage.googleapis.com/shellcheck/shellcheck-${scversion}.linux.x86_64.tar.xz"
Шаг 3: извлеките архив ShellCheck TarXZ с помощью команды tar.
tar --xz -xvf shellcheck-"${scversion}".linux.x86_64.tar.xz
Шаг 4: установите ShellCheck на свой компьютер с Linux с помощью команды cp.
cp shellcheck-"${scversion}"/shellcheck /usr/bin/
Отладка скриптов с помощью ShellCheck
Основная цель ShellCheck — просмотреть сценарий (обычно Bash), обнаружить неправильно используемые команды и предложить исправления. Для базового использования сделайте следующее.
Во-первых, компакт-диск со сценарием, который вы хотите проверить, находится на вашем компьютере с Linux. В этом руководстве наш сценарий находится в ~ / shell-scripts. Ваш может отличаться.
cd ~/shell-scripts
Запустите команду ls и просмотрите все файлы в текущем каталоге.
Примечание: если вы собираетесь использовать ShellCheck в каталоге с несколькими типами файлов, рекомендуется объединить grep и ls вместе. Совместное использование этих двух команд позволяет отфильтровать все файлы, не являющиеся скриптами.
ls
Или используйте команду grep для просмотра только файлов сценариев.
ls | grep ".sh" ls | grep ".bash"
Найдите имя файла сценария в приглашении ls и выделите имя файла с помощью мыши. Когда все будет готово, запустите его через ShellCheck и проверьте свой код.
shellcheck name-of-file.sh
или же
shellcheck name-of-file.bash
Сразу после запуска команды shellcheck она обнаружит проблемы с вашим кодом и поместит ее в окно терминала. Прочтите и узнайте, как улучшить свое программирование, следуя предлагаемым вам предложениям.
Сохранить отчет ShellCheck в файл
Получение мгновенного отчета в терминале для программирования на bash очень полезно, однако вы можете потерять его, если закроете терминал. Чтобы избежать потери отчета о проверке оболочки, мы рекомендуем сохранить вывод в текстовый файл, запустив программу в сочетании с функцией >> в терминале.
shellcheck name-of-file.sh >> ~/Documents/shellcheck-report-name-of-file.sh
или же
shellcheck name-of-file.bash >> ~/Documents/shellcheck-report-name-of-file.bash
Просмотрите сохраненный отчет в терминале с помощью команды cat.
cat ~/Documents/shellcheck-report-name-of-file.sh | more
или же
cat ~/Documents/shellcheck-report-name-of-file.bash | more