Há algum IDEs voltado para scripts de shell, especificamente scripts bash e zsh? Isso significa ter realce de sintaxe para scripts de shell e, mais importante, ambientes de depuração com recursos como pontos de interrupção, inspeção e modificação de variáveis etc., assim como aqueles disponíveis para linguagens de programação regulares como Python, Java e C.
Por exemplo, o Microsft Windows Powershell tem IDEs como Powershell Plus e PowerGui .
O Google trouxe uma combinação de ShellEd , um plug-in do Eclipse para editar scripts de shell, e BashEclipse , um depurador Bash que funciona com ShellEd; Ainda não tentei.
Existem outros IDEs de script de shell para Un * x semelhantes a esta combinação? Alguém tem alguma experiência com eles?
Comentários
- Eu não votei negativamente, mas quem quer que o tenha feito, fez isso porque você não está fazendo uma pergunta. A única pergunta em sua postagem pode ser respondida com um Sim / Não. O que você está realmente perguntando ? Como esses programas funcionam? O que eles fazem? O que você está tentando fazer exatamente?
- Um IDE bash? Fissão nuclear para ferver água para o chá …
- Na verdade, tendo um depurador bash é uma ideia muito boa – assim como com qualquer linguagem de programação, seu código será melhor se você percorrer cada linha do depurador lentamente, examinar as variáveis, pensar sobre o que o código está fazendo, etc. Um depurador é a melhor maneira de fazer isso, mesmo se seu programa ou script não ‘ tiver bugs. Você pode obter o bashdb na maioria das distribuições, o que permitirá que você faça isso em modo de texto. Também , o antigo depurador gráfico DDD pode ser feito para funcionar com bashdb para que você tenha uma experiência mais ” visual “.
- Sim, certamente é possível faça isso. E muitos o fazem, e ‘ é como eles sobrevivem por anos. Se isso for conveniente para você, eu não ‘ não tentaria convencê-lo do contrário. Na minha opinião, é uma abordagem inferior que sobrecarrega o cérebro com tarefas de baixo valor (como controlar mentalmente os valores das variáveis, etc.). A ideia de uma boa IU do depurador é liberar os ciclos para pensar sobre o programa. Na minha experiência, isso é importante – você tem mais atenção livre para se concentrar em pensar sobre o que o programa está fazendo se ‘ estiver gastando menos nessas coisas.
- Para aqueles de nós com chaleiras ou fogões elétricos nos EUA ou na Europa, uma boa parte de nossa geração elétrica de carga de base é fornecida por usinas nucleares, então, quando fervermos água para o chá, estamos usando fissão nuclear, pelo menos parcialmente .
Resposta
Eu não diria que é bem conhecido ou usado, mas você pode ter um veja basheclipse :
Devo admitir que não tenho experiência com o basheclipse e nem mesmo consegui instalá-lo devido a uma incompatibilidade de versão do eclipse.
Por outro lado, estou usando os recursos de depuração específicos do bash e do ksh93, especialmente o trap ERR
e trap DEBUG
alguns, mas não os depuradores baseados neles kshdb e bashdb
Comentários
- Acho bastante irônico que sua captura de tela seja de uma janela no estilo do Windows.
- @NigelNquande Para ser honesto, eu ‘ m não é um usuário basheclipse (ou eclipse). Eu definitivamente uso recursos de depuração fornecidos por ksh93 e bash, mas sem GUI. Esta captura de tela foi tirada do site basheclipse. Pode ser algum tema gnome ou apenas uma captura de tela real do Windows 7 dada a linha OS = ” cygwin “.
- Bem, IMO, se você ‘ vai fazer algo, faça-o com a inicialização, não metade de um ed (mas que ‘ não está aqui nem ali para mais ninguém). Para mim,
bash
no Windows parece meio um sed quando funciona perfeitamente bem no GNU / Linux. - @NigelNquande Como escrevi, este isn ‘ uma captura de tela minha. Em qualquer caso, eu só uso o bash no Windows quando não tenho escolha e
cygwin
é bastante eficiente para ocultar o sistema operacional subjacente. - @ user7000 eu escrevi e até falhou em instalá-lo devido a uma incompatibilidade de versão do eclipse , mas eu não ‘ não me lembro qual era a versão do eclipse. Está documentado para funcionar com o Eclipse 4.5.2: sourceforge.net/projects/basheclipse/files/?source = navbar
Resposta
Um IDE construído para um propósito iria derrotar o propósito de script de shell, sem mencionar que é quase impossível de fazer, porque a maior parte do que o shell faz é chamar comandos externos – como você depura isso? Depurar com pontos de verificação é contra-intuitivo para um shell – scripts de shell geralmente operam pesadamente em arquivos e, portanto, têm efeitos colaterais destrutivos em cada chamada. O script BY DESIGN funciona linha por linha, então seu “ambiente” é na verdade o próprio terminal – você sempre pode ecoar variáveis, seu ambiente está sempre lá para você, não há “fluxo prescrito” que você teria que interromper. Você progressivamente faz o que quiser, linha por linha, testando cada vez se você conseguiu o que deseja e, em seguida, cola essas linhas em um script para usar novamente. Qualquer IDE na verdade desabilitaria a maior parte do que você pode fazer no próprio shell.
Para linguagens de script totalmente qualificadas (Python, Perl etc), você tem um Tudo isso, mas bash / zsh / ksh / … são “cola” interativos para outros comandos e são seus próprios depuradores.
No entanto, a maioria dos editores de texto destacará o código para você, e emacs
irá (desde que você encontre os pacotes certos, nunca me preocupei em fazer isso para scripts de shell) fornecer conclusão de palavra-chave programável. Acredito que vi
também possa fazer isso (não comece uma guerra inflamável aqui, por favor).
Comentários
- Como você define uma ” linguagem de script totalmente qualificada? ”
- @TrevorSullivan à sua maneira . Não ‘ t, por favor, ceda ao ódio.
- @Det: Era uma pergunta legítima – se pudermos ‘ Se todos concordam em uma definição comum e concreta da frase, então podemos muito bem não ter uma discussão sobre ela. Eu ‘ estou apenas curioso para saber o que significa essa frase.
- Não ‘ concordo que os IDEs derrotam o propósito do script de shell. Você pode querer limpar seus scripts de shell (por exemplo, variáveis estranhas embutidas, detectar variáveis não utilizadas – que é o que eu ‘ estou tentando fazer ao limpar meus scripts de inicialização do System V que estão ficando desnecessariamente longos, especialmente quando duplicados de existentes exemplos).
- Eu também adicionaria isso, e o IDE fornece intellisense ou outras ferramentas para que eu não ‘ tenha que ficar pesquisando no Google ou olhando páginas de manual para lembrar coisa. Também me permite manter todos os meus scripts juntos em um projeto, pular linhas, inspecionar argumentos recebidos, testar loops e interruptores, separar um tubo para inspeção, etc.
Resposta
Também endosso a ideia de usar um IDE para scripts bash.
É possível escrever scripts bash usando o bloco de notas jupyter.
O notebook jupyter pode ser instalado via anaconda enquanto um kernel bash para notebook jupyter (ou jupyterlab) pode ser instalado com os seguintes comandos ( fonte ):
pip install bash_kernel
e
python -m bash_kernel.install
Depois disso, você pode selecionar bash em um novo inicializador instância do navegador anaconda, como mostrado abaixo.
A única coisa é que (até onde eu sei) ele não funciona com comandos que você precisa inserir no prompt, como read
ou qualquer outro argumento que você passar após chamar o script. Mas, fora isso, funciona muito bem.
Resposta
encontrei este problema sozinho, significa que pesquisei o IDE de script bash, há muitos plug-ins no IDE populare assim como eclipse e muitos outros. mas acho muito trabalhoso lidar com IDE apenas para construir pequenos scripts bash. por outro lado, trabalhar com editores causa muitos erros de sintaxe e perda de tempo, sem mencionar que não é nem um pouco divertido.
Portanto, encontrei uma ferramenta de script bash online para criar scripts, chamada de http://bashops.net , it ” s online, imediatamente pode começar a trabalhar na construção do script bash, sem se ocupar em nenhuma instalação.
Resposta
Eu gostaria de sugira a edição da comunidade PyCharm com o plugin BashSupport . Este possui excelentes funcionalidades de IDE com intellij intellisense.
Resposta
Rogalmic escreveu plug-ins VSCode para bashdb e zshdb .
Eles são baseados em meus depuradores para bash e zsh , então eles lidam com muitos casos extremos que estão faltando, digamos, no depurador do Eclipse para o bash.
Resposta
Experimente este site. Também estou procurando a mesma coisa e quero ser capaz de testar o script primeiro e não afetar meu sistema. Este é um editor online para bash.