Имате ли проблеми с 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 „Community“.
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), да открива неправилно използвани команди и да предлага корекции. За основна употреба направете следното.
Първо, CD до мястото, където скриптът, който искате да проверите, е на вашия компютър с 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