Как стать автором
Обновить

Комментарии 17

Мне понравился толковый styleguide для shell-скриптов от Google

Внимение! Для работы требует наличия ShellCheck в системе

ShellCheck-расширение при установке вполне подтягивает свой собственный бинарник, проверено на Windows10, Debian 10, Fedora 34.
То же самое и shell-format.

Спасибо за важное замечание.

И в правду, начиная с версии v0.10.0 расширения ShellCheck бинарники встроены (уже как год прошел). 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 , который содержит ссылки на расширения, указанные автором

lizebang.bash-extension-pack

woozy-masta.shell-script-ide

jeff-hykin.better-shellscript-syntax и equinusocio.vsc-material-theme

deitry.apt-source-list-syntax

devmike.mikrotik-routeros-script

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории