Er der nogen IDEer målrettet mod shell-scripting, specifikt bash- og zsh-scripts? Dette betyder at have syntaks-fremhævning for shell-scripts og vigtigere fejlfindingsmiljøer med funktioner som breakpoints, variabel inspektion og ændring osv., Ligesom dem der er tilgængelige for almindelige programmeringssprog som Python, Java og C.
For eksempel har Microsft Windows Powershell IDEer som Powershell Plus og PowerGui .
Googling frembragte en kombination af ShellEd , et Eclipse-plugin til redigering af shell-scripts, og BashEclipse , en Bash-fejlfinding, der fungerer med ShellEd; Jeg har ikke prøvet det endnu.
Er der andre shell-scripting-IDEer til Un * x, der ligner denne kombination? Har nogen nogen erfaring med dem?
Kommentarer
- Jeg stemte ikke ned, men den, der gjorde det, gjorde det, fordi du ikke stiller et spørgsmål. Det eneste spørgsmål i dit indlæg kan besvares med et ja / nej. Hvad spørger du faktisk Hvordan fungerer disse programmer? Hvad gør de? Hvad forsøger du at gøre præcist?
- En bash IDE? Atomfission til at koge vand til te …
- Faktisk en bash debugger er en meget god idé – ligesom med ethvert programmeringssprog, vil din kode være bedre, hvis du langsomt går gennem hver linje i debuggeren, undersøger variablerne, tænker over, hvad koden laver osv. En debugger er den bedste måde at gøre det på, selvom dit program eller script ikke ‘ ikke har fejl. Du kan få bashdb i de fleste distributioner, hvilket giver dig mulighed for at gøre det i teksttilstand. Også kan den aldrende DDD grafiske fejlfindingsprogram fås til at arbejde med bashdb, så du får en mere ” visuel ” oplevelse.
- Ja, bestemt kan man gøre det. Og mange gør det, og det ‘ er, hvordan de klarer sig i årevis. Hvis det passer dig, ville jeg ikke ‘ ikke prøve at overbevise dig om andet. Efter min mening er det en ringere tilgang, der beskatter hjernen med opgaver med lav værdi (som mentalt at holde styr på værdierne af variabler osv.). Ideen om et godt debugger-UI frigør disse cyklusser til at tænke på programmet. Efter min erfaring betyder dette noget – du har mere opmærksomhed fri til at fokusere på at tænke på, hvad programmet laver, hvis du ‘ bruger mindre af det på sådanne ting.
- For dem af os med elkedler eller områder i USA eller Europa, leveres en god del af vores elektriske basisbelastning fra kernekraftværker, så når vi koger vand til te, bruger vi i det mindste delvist kernefission. .
Svar
Jeg vil ikke sige, at det enten er velkendt eller godt brugt, men du har muligvis en se til basheclipse :
Jeg må indrømme, at jeg ikke har nogen erfaring med basheclipse og endda ikke kunne installere den på grund af en manglende matchning af eclipse-version.
På den anden side bruger jeg bash- og ksh93-specifikke fejlfindingsfunktioner, især trap ERR
og trap DEBUG
, men ikke debuggere baseret på dem kshdb og bashdb
Kommentarer
- Jeg finder det ret ironisk, at dit skærmbillede er af et Windows-vindue.
- @NigelNquande For at være ærlig ‘ m ikke en basheclipse (eller eclipse for den sags skyld) bruger. Jeg bruger bestemt fejlfindingsfunktioner leveret af ksh93 og bash, men ingen GUI. Dette skærmbillede er taget fra basheclipse-webstedet. Det kan være et gnome-tema eller bare et ægte Windows 7-skærmbillede givet OS = ” cygwin ” -linjen.
- Nå, IMO, hvis du ‘ vil gøre noget, skal du gøre det med støvler på, ikke en halv ed (men at ‘ er hverken her eller der for nogen anden). For mig virker
bash
på Windows halvt sed, når det fungerer perfekt i GNU / Linux. - @NigelNquande Som jeg skrev, dette er ikke ‘ et skærmbillede af min. Under alle omstændigheder bruger jeg kun bash på Windows, når jeg ikke har noget valg, og
cygwin
er ret effektiv til at skjule det underliggende operativsystem. - @ user7000 Jeg skrev og kunne endda ikke installere det på grund af en manglende match i formørkelsesversion men jeg ‘ husker ikke, hvilken formørkelsesversion det var. Er er dokumenteret at arbejde med Eclipse 4.5.2 dog: sourceforge.net/projects/basheclipse/files/?kilde = navbar
Svar
En specialbygget IDE ville slags besejre formålet med shell scripting, for ikke at nævne at det er næsten umuligt at gøre, fordi det meste af hvad shell gør er at kalde eksterne kommandoer – hvordan debugger du det? Fejlfinding med checkpoints er kontraintuitivt for en shell – shell-scripts fungerer normalt meget på filer og dermed har destruktive bivirkninger ved hvert opkald. Scripting BY DESIGN fungerer linje for linje, så dit “miljø” er faktisk selve terminalen – du kan altid ekko variabler, dit miljø er altid der for dig, der er ingen “ordineret flow” at du bliver nødt til at afbryde. Du gør gradvist hvad du vil gøre, linje for linje, hver gang du tester, om du har det, du ønsker, og derefter indsætter du disse linjer i et script, der skal bruges igen. Enhver IDE ville faktisk bare deaktivere det meste af det du kan gøre i selve skallen.
For fuldt kvalificerede script-sprog (Python, Perl osv.) har du en ll dette, men bash / zsh / ksh / … er interaktiv “lim” til andre kommandoer og er deres egne debuggere.
De fleste teksteditorer fremhæver dog koden for dig og emacs
vil (forudsat at du finder de rigtige pakker, har jeg aldrig gidet at gøre det for shell-scripts) give programmerbar søgeordsafslutning. Jeg tror, at vi
også kan gøre det (start ikke en flammekrig her tak).
Kommentarer
- Hvordan definerer du et ” fuldt kvalificeret scriptingsprog? ”
- @TrevorSullivan på sin egen måde Don ‘ t, vær venlig at give ind i hadet.
- @Det: Det var et legitimt spørgsmål – hvis vi kan ‘ t er alle enige om en fælles, konkret definition af sætningen, så vi kan lige så godt ikke have en diskussion om det. Jeg ‘ er bare nysgerrig efter hvad der menes med denne sætning.
- Jeg ‘ er ikke enig i IDEer besejrer formålet med shell-scripting. Det kan være en god idé at rydde op i dine shell-scripts (f.eks. indbyggede eksterne variabler, registrer ubrugte variabler – hvilket jeg ‘ prøver på at rydde op i mine System V Init-scripts, der bliver unødigt lange, især når de duplikeres fra eksisterende eksempler).
- Jeg vil også tilføje det, og IDE leverer intellisense eller andre værktøjer, så jeg behøver ikke ‘ at google eller se på mandsider for at huske nogle ting og sager. Det giver mig også mulighed for at holde alle mine scripts sammen i et projekt, gå over linjer, inspicere indgående argumenter, test sløjfer og switche, bryde et rør til inspektion osv.
Svar
Jeg støtter også ideen om at bruge en IDE til bash-scripts.
Man kan skrive bash-scripts ved hjælp af jupyter-notesbogen.
Jupyter-notesbogen kan installeres via anaconda , mens en bash-kerne til jupyter-notesbog (eller jupyterlab) kan installeres med følgende kommandoer ( kilde ):
pip install bash_kernel
og
python -m bash_kernel.install
Derefter kan du vælge bash på en ny launcher forekomst af anaconda-navigator, som vist nedenfor.
Det eneste er, at (så vidt jeg ved) det ikke fungerer med kommandoer, som du skal indtaste til prompten, såsom read
eller ethvert andet argument, som du videregiver efter at have kaldt scriptet. Men bortset fra det fungerer det ret godt.
Svar
stødte på dette problem selv, betyder at jeg søgte efter bash script IDE, der er mange plugins på populare IDE ligesom formørkelse og mange andre. men finder det meget arbejde med at håndtere IDE bare for at bygge små bash-scripts. på den anden side kan arbejde med redaktører forårsage masser af syntaksfejl og spild af tid, for ikke at nævne det er slet ikke sjovt.
så jeg fandt et online bash script-værktøj til at bygge scripts, det hedder http://bashops.net , det ” s online kan straks begynde at arbejde på at bygge bash-script uden at blive travlt i nogen installation.
Svar
Jeg vil gerne foreslå PyCharm Community-udgave med BashSupport plugin. Dette har fremragende IDE-funktioner med intellij intellisense.
Svar
Rogalmic skrev VSCode-plugins til bashdb og zshdb .
De er baseret på mine debuggere til bash og zsh , så de håndterer mange af de kanttilfælde, der mangler i f.eks. formørkelsesfejlfinderen til bash.
Svar
Prøv dette websted. Jeg leder også efter den samme ting, og jeg vil gerne være i stand til at teste scriptet først og ikke påvirke mit system. Dette er en online editor til bash.