Существуют ли какие-либо среды разработки, предназначенные для сценариев оболочки, в частности сценариев bash и zsh? Это означает наличие подсветки синтаксиса для сценариев оболочки и, что более важно, отладочной среды с такими функциями, как точки останова, проверка и модификация переменных и т. Д., Подобно тем, которые доступны для обычных языков программирования, таких как Python, Java и C.
Например, в Microsoft Powershell есть интегрированные среды разработки, такие как Powershell Plus и PowerGui .
Googling создал комбинацию ShellEd , плагина Eclipse для редактирования сценариев оболочки, и BashEclipse , отладчика Bash, который работает с ShellEd; Я еще не пробовал.
Существуют ли другие среды разработки сценариев оболочки для Un * x, подобные этой комбинации? У кого-нибудь есть опыт работы с ними?
источник
Ответы:
Я бы не сказал, что он хорошо известен или используется, но вы можете взглянуть на basheclipse :
Я должен признать, что у меня нет опыта работы с basheclipse и даже не удалось установить его из-за несоответствия версии Eclipse.
С другой стороны, я использую специальные функции отладки bash и ksh93, особенно те
trap ERR
иtrap DEBUG
, но не отладчики на их основе kshdb и bashdbисточник
bash
взгляд, Windows выглядит наполовину седом, когда она отлично работает в GNU / Linux.cygwin
довольно эффективно скрываю базовую ОС.Специально созданная IDE отчасти побеждает назначение сценариев оболочки, не говоря уже о том, что это почти невозможно сделать, потому что большая часть того, что делает оболочка, вызывает внешние команды - как вы отлаживаете это? Отладка с контрольными точками нелогична для оболочки - сценарии оболочки обычно сильно работают с файлами и, таким образом, имеют разрушительные побочные эффекты при каждом вызове. Сценарии BY DESIGN работают построчно, поэтому ваша «среда» фактически является самим терминалом - вы всегда можете отображать переменные, ваша среда всегда там для вас, нет «предписанного потока», который вам пришлось бы прерывать. Вы постепенно делаете все, что хотите, построчно, каждый раз проверяя, получили ли вы то, что хотели, а затем вставляете эти строки в сценарий для повторного использования.
Для полностью квалифицированных языков сценариев (Python, Perl и т. Д.) У вас есть все это, но bash / zsh / ksh / ... являются интерактивным «клеем» для других команд и являются их собственными отладчиками.
Тем не менее, большинство текстовых редакторов выделят код для вас и
emacs
(при условии, что вы найдете нужные пакеты, я никогда не удосужился сделать это для скриптов оболочки) обеспечат программируемое завершение ключевых слов. Я верюvi
, что это тоже можно сделать (не начинайте здесь огненную войну, пожалуйста).источник
Я также поддерживаю идею использования IDE для сценариев bash.
Можно написать сценарии bash, используя блокнот jupyter.
Записная книжка jupyter может быть установлена через anaconda, а ядро bash для записной книжки jupyter (или jupyterlab) может быть установлено с помощью следующих команд ( источник ):
pip install bash_kernel
а такжеpython -m bash_kernel.install
После этого вы можете выбрать bash в новом экземпляре средства запуска Anaconda Navigator, как показано ниже.
Единственное, что (насколько я знаю) он не работает с командами, которые вы должны ввести в приглашение, например,
read
или с любым другим аргументом, который вы передаете после вызова скрипта. Но кроме этого, это работает довольно хорошо.источник
столкнулся с этой проблемой сам, имею в виду, что я искал IDE bash-скрипта, в populare IDE есть много плагинов, таких как eclipse и многие другие. но найдите много работы, связанной с IDE, только для создания небольших скриптов bash. с другой стороны, работа с редакторами приводит к множеству синтаксических ошибок и трате времени, не говоря уже о том, что это совсем не весело.
поэтому я нашел онлайн-инструмент для создания сценариев bash, он называется http://bashops.net , он-лайн, сразу же может начать работу по созданию сценария bash, не занимаясь какой-либо установкой.
источник
Rogalmic написал плагины для VSCode для bashdb и zshdb .
Они основаны на моих отладчиках для bash и zsh , поэтому они обрабатывают множество крайних случаев, которых не хватает, например, отладчика eclipse для bash.
источник
Я хотел бы предложить выпуск PyCharm Community с плагином BashSupport . Это имеет отличные функциональные возможности IDE с intellij intellisense.
источник