Czy są jakieś środowiska IDE ukierunkowane na skrypty powłoki, w szczególności skrypty bash i zsh? Oznacza to wyróżnianie składni skryptów powłoki i, co ważniejsze, debugowanie środowisk z funkcjami takimi jak punkty przerwania, kontrola i modyfikacja zmiennych itp., Podobnie jak te dostępne dla zwykłych języków programowania, takich jak Python, Java i C.
Na przykład Microsoft Windows Powershell ma IDE, takie jak Powershell Plus i PowerGui .
Googling przyniósł kombinację ShellEd , wtyczki Eclipse do edycji skryptów powłoki oraz BashEclipse , debuggera Bash, który współpracuje z ShellEd; Jeszcze tego nie próbowałem.
Czy istnieją inne IDE skryptów powłoki dla Un * x podobne do tej kombinacji? Czy ktoś ma z nimi jakieś doświadczenie?
bash-script
ide
vfclists
źródło
źródło
Odpowiedzi:
Nie powiedziałbym, że jest dobrze znany lub dobrze używany, ale możesz rzucić okiem na basheclipse :
Muszę przyznać, że nie mam doświadczenia z basheclipse, a nawet nie udało mi się go zainstalować z powodu niedopasowania wersji eclipse.
Z drugiej strony używam funkcji debugowania specyficznych dla bash i ksh93, zwłaszcza tych
trap ERR
itrap DEBUG
tych, ale nie debugerów opartych na nich kshdb i bashdbźródło
bash
Windows wydaje się pół- sed, kiedy działa doskonale w GNU / Linux.cygwin
dość skutecznie ukrywa podstawowy system operacyjny.Specjalnie zbudowane IDE zniszczyłoby cel skryptów powłoki, nie wspominając o tym, że jest to prawie niemożliwe, ponieważ większość tego, co robi powłoka, wywołuje zewnętrzne polecenia - jak to debugować? Debugowanie za pomocą punktów kontrolnych jest sprzeczne z intuicją dla powłoki - skrypty powłoki zwykle działają silnie na plikach, a zatem wywołują destrukcyjne skutki uboczne przy każdym wywołaniu. Skrypty WEDŁUG PROJEKTU działają wiersz po wierszu, więc twoje „środowisko” jest w rzeczywistości samym terminalem - zawsze możesz echa zmiennych, twoje środowisko jest zawsze dla ciebie, nie ma „zalecanego przepływu”, który musiałbyś przerwać. Stopniowo robisz wszystko, co chcesz, wiersz po wierszu, za każdym razem sprawdzając, czy masz to, czego chcesz, a następnie wklej te wiersze do skryptu, aby użyć ponownie.
W przypadku w pełni kwalifikowanych języków skryptowych (Python, Perl itp.) Masz to wszystko, ale bash / zsh / ksh / ... są interaktywnym „klejem” dla innych poleceń i są ich własnymi debuggerami.
Jednak większość edytorów tekstu podświetli kod dla Ciebie i
emacs
(pod warunkiem, że znajdziesz odpowiednie pakiety, nigdy nie przejmowałem się tym w przypadku skryptów powłoki) zapewni programowalne uzupełnianie słów kluczowych. Wierzę, żevi
może to zrobić (proszę, nie zaczynaj flamewaru tutaj).źródło
Popieram również pomysł użycia IDE do skryptów bash.
Za pomocą notatnika jupyter można pisać skrypty bash.
Notatnik jupyter można zainstalować za pomocą anakondy, natomiast jądro bash dla notebooka jupyter (lub jupyterlab) można zainstalować za pomocą następujących poleceń ( źródło ):
pip install bash_kernel
ipython -m bash_kernel.install
Następnie możesz wybrać bash na nowej instancji programu uruchamiającego anaconda navigator, jak pokazano poniżej.
Jedyną rzeczą jest to, że (o ile mi wiadomo) nie działa z poleceniami, które należy wprowadzić w wierszu polecenia, takimi jak
read
jakikolwiek inny argument przekazywany po wywołaniu skryptu. Ale poza tym działa całkiem dobrze.źródło
sam zetknąłem się z tym problemem, co oznacza, że szukałem IDE skryptu bash, istnieje wiele wtyczek w popularnym IDE, podobnie jak eclipse i wiele innych. ale uważam, że wiele pracy zajmuje się IDE tylko po to, aby budować małe skrypty bash. z drugiej strony praca z edytorami powoduje wiele błędów składniowych i stratę czasu, nie wspominając o tym, że wcale nie jest fajna.
więc znalazłem narzędzie online do tworzenia skryptów bash, o nazwie http://bashops.net , jest online, od razu można rozpocząć pracę nad budowaniem skryptu bash, bez zajmowania się żadną instalacją.
źródło
Rogalmic napisał wtyczki VSCode dla bashdb i zshdb .
Opierają się one na moich debuggerach dla bash i zsh , więc obsługują wiele przypadków krawędzi, których brakuje, powiedzmy, debugger eclipse dla bash.
źródło
Chciałbym zaproponować wydanie społeczności PyCharm z wtyczką BashSupport . Ma to doskonałe funkcje IDE z intellijsenlisense.
źródło