ShellCheck: Ein Linter für Shell-Skripte

Der Einsatz von Werkzeugen zur Code-Überprüfung lohnt sich immer. Das gilt insbesondere, wenn ihr Code aus dem Internet herunterladet, eure Skripte von KI generieren lasst, oder diese selbst schreibt.

#Linter #ShellCheck #Skript #Linux

https://gnulinux.ch/shellcheck-ein-linter-fuer-shell-skripte

ShellCheck: Ein Linter für Shell-Skripte

Der Einsatz von Werkzeugen zur Code-Überprüfung lohnt sich immer. Das gilt insbesondere, wenn ihr Code aus dem Internet herunterladet, eure Skripte von KI generieren lasst, oder diese selbst schreibt.

GNU/Linux.ch

Отладка bash-скриптов: инструменты, о которых мало кто

В предыдущей статье я рассказал, как писал скрипт мониторинга системы с нуля от идеи до рабочего инструмента с меню, цветным выводом и уведомлениями в Telegram. Там же выяснилось, что большинство проблем при написании bash-скриптов возникает не из-за сложной логики, а из-за незаметных ошибок: забытых токенов-заглушек, тихих падений через pipe, команд которые молча возвращают не то. Именно тогда я понял, что echo для отладкиэто каменный век. Скрипт мониторинга написан и работает. Теперь поговорим о том, что делать, когда он перестаёт работать или ведёт себя странно. Я собрал инструменты и приёмы, которые реально меняют то, как работать с bash. Не абстрактный список из документации, а вещи которые я использую сам и которые несколько раз спасали в ситуации «скрипт упал на проде, надо найти за пять минут». Для тех, кто спешит: быстрая шпаргалка

https://habr.com/ru/articles/1044660/

#bash #linux #отладка #shellcheck #bashdb #strace #set_x #devops #bash_scripting #отладка_скриптов

Отладка bash-скриптов: инструменты, о которых мало кто

В предыдущей статье я рассказал, как писал скрипт мониторинга системы с нуля от идеи до рабочего инструмента с меню, цветным выводом и уведомлениями в Telegram. Там же выяснилось, что большинство...

Хабр

It is no longer WIP and a ready to use forgejo action, as always written in posix shell with well defined dependencies  

https://codeberg.org/Shrimp-CI/shellcheck

#forgejo #shellcheck

shellcheck

WIP: An action that automatically seeks shellscripts and checks them using shellcheck

Codeberg.org

I just updated my current project to use both #shellcheck and #shfmt (yes, I am writing a lot of bash at the moment).

Writing #bash like a grown-up feels weird.

But a good weird!

Have submitted v3 of this #Linux bridge #multicast related patchset now: https://patchwork.kernel.org/project/netdevbpf/cover/[email protected]/
I'm still confused why #shellcheck throws these errors even though the tests seem to execute fine otherwise: https://patchwork.kernel.org/project/netdevbpf/patch/[email protected]/
Also no idea what netdev/check_selftest wants from me yet.

#switchdev

[net-next,v3,00/14] net: bridge: reduce multicast checks in fast path - Patchwork

The most useless shellcheck warning is SC2001.

#shellcheck

@fabi1cazenave Ah que oui, #Shellcheck, c'est trop génial !
Interhackerspace pleroma

Занимаясь скриптоложеством и запуская в очередной раз #shellcheck, подумалось, что надо бы прикрутить его к quickfix'у.
Уже строя планы на модуль с особо извращенной^Wизощренной, само-собой, логикой, парсером и еще чего-нибудь, чего там начинает топтаться в мозгах после полуночи.
Открыл справку по quickfix'у, открыл ман по shellcheck'у...
Вторым абзацем в [FORMATS](https://github.com/koalaman/shellcheck/blob/master/shellcheck.1.md#user-content-formats):

> For example, in Vim, `:set makeprg=shellcheck\ -f\ gcc\ %` will allow
> using `:make` to check the script, and `:cnext` to jump to the next error.
> <file>:<line>:<column>: <type>: <message>

...
Ну, ладь..., всмысле -- ок. Не очень-то и хотелось.
Добавил в ftplugin строчку и ~~сижу скучаю~~ рад.

#vim

shellcheck/shellcheck.1.md at master · koalaman/shellcheck

ShellCheck, a static analysis tool for shell scripts - koalaman/shellcheck

GitHub

#TIL that #DuckDuckGo has a pretty clean submission page for suggestion new !bang search shortcuts.

Feeling so lazy today, I just submitted one for #shellcheck wiki error message(https://www.shellcheck.net/wiki/) searches(e.g. "!shck SC2067").

https://duckduckgo.com/newbang

#Search

@christian_freiherr_von_wolff Just encourage people to include #ShellCheck in their build/test pipelines or IDE's and it will flag this problem as an error... and probably many others 😉

ShellCheck, a static analysis tool for shell scripts https://github.com/koalaman/shellcheck?tab=readme-ov-file#miscellaneous

GitHub - koalaman/shellcheck: ShellCheck, a static analysis tool for shell scripts

ShellCheck, a static analysis tool for shell scripts - koalaman/shellcheck

GitHub