Комментарии 17
Мне понравился толковый styleguide для shell-скриптов от Google
Есть статья на хабре https://habr.com/ru/post/413155/
Внимение! Для работы требует наличия ShellCheck в системе
ShellCheck-расширение при установке вполне подтягивает свой собственный бинарник, проверено на Windows10, Debian 10, Fedora 34.
То же самое и shell-format.
Благодарю, вот уж не думал что в 2021 смогу узнать что-то новое про отладку шелла, но вам это удалось :)
Каша из топора. Оверхед зашкаливает. Баш и вот это выше вещи антогонистичные и взаимоисключающие. А давайте у ложки наточим ручку, что бы резать этим краем, и зазубрим с другой стороны, что бы пилить, и дырочку просверлим под крючек, что бы блеснить. А есть и палочками можно, да и без палочек получится. Таким методом что угодно можно маштабировать в идиотизм.
Простите, я не понял, что вы хотели этим сказать. Как bash может быть соперником strace
, PS4
или IDE? Вы не путаете тёплое с мягким?
В чем вы увидели дополнительные накладные расходы? Это же всего лишь рекомендации о настройке персонального рабочего окружения, для написания сценариев.
Сами же сценарии от этого сложнее или медленнее не станут, но их будет проще писать и отлаживать на этапе разработки.
Первый коммент, первая ссылка на отличные рекомендации, в первых строках гугель рекомендует не "путаете тёплое с мягким?"
Some guidelines:
If you’re mostly calling other utilities and are doing relatively little data manipulation, shell is an acceptable choice for the task.
If performance matters, use something other than shell.
If you are writing a script that is more than 100 lines long, or that uses non-straightforward control flow logic, you should rewrite it in a more structured language now. Bear in mind that scripts grow. Rewrite your script early to avoid a more time-consuming rewrite at a later date.
У меня складывается впечатление, что вы не читая статьи написали комментарий. Надеюсь я ошибаюсь, и просто не улавливаю всей глубины вашей мысли.
В статье, я не пропагандирую использовать bash, не привожу никаких гайдлайнов по логической составляющей скриптов и не призываю писать в каком то стиле. Я рассказываю как настроить комфортную среду, в которой вы пишете bash скрипты, а уж по какой причине и для чего вы их пишете, это дело ваше, и я вас не принуждал к этому.
Моя третья закладка за 10 лет, ценность статьи для себя вижу высокую.
Автор - браво!
У меня только shellcheck установлен, скрипты пишу не часто.
Но теперь знаю как "прокачать" VSC в случае чего.
Я установил расширение Bash IDE, но у меня не работает переход в другие файлы, подключаемые через ключевое слово source. Так же не работает переход в функции, которые описаны в подключаемых файлах.
Так и должно быть?
Что нужно установить, чтобы можно было перепрыгивать в подключаемый код?

вот так работает, еще можно сходить в трекер к разработчику
Написано толково. Есть небольшое дополнение.
Чтобы можно было переносить рабочую среду на флешке
https://github.com/garethflowers/vscode-portable/releases/tag/2.0.0
Скрипт сам скачивает и устанавливает VSC, но при переносе рабочей среды есть небольшие косяки, надо тестировать, этим сейчас и занимаюсь.
Благодарность автору за систематизацию информации.
По поводу редактирования настроек, рекомендую посмотреть в доки
Depending on your platform, the user settings file is located here:
Windows %APPDATA%\Code\User\settings.json
macOS $HOME/Library/Application\ Support/Code/User/settings.json
Linux $HOME/.config/Code/User/settings.json
Portable ...\PortableApps\VSCodePortable-x64\Data\code\User\settings.json
Соответственно для флетпака и портативной версии эти пути переопределены.
defaultSettings.jsonне редактируемый, ваши настройки будут храниться в settings.json.
И в этом есть проблема и причина перехода к портативному варианту. Если есть несколько рабочих мест и на каждом вы работаете с несколькими языками и IDE, то простая синхронизация настроек не подходит, поскольку создает хаос в вашей IDE. Плюс к этому что между локальными и портативными настройками есть различия, а так-же можно в одном месте сделать что-то, забыть убрать и все это внезапно будет сопровождать и нервировать вас.
Поэксперементировав, я отказался от синхронизации настроек между локальной и портативной версией, специализировав портативную для написания скриптов только и запуском в Linux через wine.
Для Конфигурации VSC для скриптов можно установить
lizebang.bash-extension-pack , который содержит ссылки на расширения, указанные автором
Подготовка эффективной среды для написания bash сценариев