มีเชลล์สคริปต์ IDE ที่รู้จักและใช้กันดีสำหรับ Un * x หรือไม่?


23

มี IDE ใด ๆ ที่กำหนดเป้าหมายที่เชลล์สคริปต์โดยเฉพาะสคริปต์ทุบตีและ zsh หรือไม่ นี่หมายถึงการมีการเน้นไวยากรณ์สำหรับเชลล์สคริปต์และสภาพแวดล้อมการดีบักที่สำคัญกว่าด้วยคุณสมบัติเช่นเบรกพอยต์การตรวจสอบตัวแปรและการปรับเปลี่ยน ฯลฯ เช่นเดียวกับที่มีให้สำหรับภาษาการเขียนโปรแกรมทั่วไปเช่น Python, Java และ C

ยกตัวอย่างเช่น Microsft ของ Windows Powershellมี IDEs เช่น Powershell พลัสและPowerGUI

Googling สร้างการรวมกันของShellEdซึ่งเป็นปลั๊กอิน Eclipse สำหรับการแก้ไขเชลล์สคริปต์และ BashEclipseซึ่งเป็นดีบักเกอร์ Bash ที่ทำงานกับ ShellEd; ฉันยังไม่ได้ลองเลย

มีเชลล์สคริปต์ IDE อื่น ๆ สำหรับ Un * x คล้ายกับคอมโบนี้หรือไม่? ใครบ้างมีประสบการณ์กับพวกเขาบ้างไหม?


10
ฉันไม่ได้ลงคะแนน แต่ใครก็ตามทำเช่นนั้นเพราะคุณไม่ได้ถามคำถาม คุณสามารถตอบคำถามเฉพาะในโพสต์ของคุณด้วยใช่ / ไม่ใช่ คุณถามอะไรจริง ๆ โปรแกรมเหล่านี้ทำงานอย่างไร พวกเขาทำอะไร? คุณพยายามทำอะไรกันแน่
terdon

10
IDE ทุบตี? นิวเคลียร์ฟิชชันจะต้มน้ำสำหรับดื่มชา ...
jasonwryan

5
ที่จริงแล้วการมีดีบัก bash นั้นเป็นความคิดที่ดีมากเช่นเดียวกับภาษาการเขียนโปรแกรมใด ๆ โค้ดของคุณจะดีกว่าถ้าคุณผ่านแต่ละบรรทัดในดีบักเกอร์ช้า ๆ ตรวจสอบตัวแปรคิดเกี่ยวกับสิ่งที่โค้ดกำลังทำอยู่ ฯลฯ ตัวดีบักเป็นวิธีที่ดีที่สุดในการทำเช่นนั้นแม้ว่าโปรแกรมหรือสคริปต์ของคุณจะไม่มีข้อบกพร่อง คุณสามารถรับ bashdb ในการกระจายส่วนใหญ่ซึ่งจะช่วยให้คุณทำเช่นนั้นในโหมดข้อความ นอกจากนี้ดีบักเกอร์กราฟิก DDD ที่มีอายุมากขึ้นสามารถทำงานกับ bashdb เพื่อให้คุณมีประสบการณ์ "ภาพ" มากขึ้น
Stabledog

1
ใช่แน่นอนสามารถทำได้ และหลายคนทำและนั่นคือวิธีที่พวกเขาผ่านมาหลายปี ถ้านั่นเหมาะกับคุณฉันจะไม่พยายามโน้มน้าวคุณเป็นอย่างอื่น ในความคิดของฉันมันเป็นวิธีการที่ด้อยกว่าที่เก็บภาษีสมองด้วยงานที่มีมูลค่าต่ำ (เช่นการติดตามจิตใจของค่าตัวแปร ฯลฯ ) แนวคิดของ UI ดีบั๊กเกอร์คือการเพิ่มรอบการคิดเกี่ยวกับโปรแกรม จากประสบการณ์ของฉันสิ่งนี้ - คุณมีความสนใจมากขึ้นที่จะมุ่งเน้นไปที่การคิดเกี่ยวกับสิ่งที่โปรแกรมกำลังทำอยู่หากคุณใช้จ่ายน้อยลงในเรื่องดังกล่าว
Stabledog

1
สำหรับพวกเราที่มีกาต้มน้ำไฟฟ้าหรือในสหรัฐอเมริกาหรือยุโรปส่วนที่ดีของการผลิตกระแสไฟฟ้า baseload ของเราจัดทำโดยโรงไฟฟ้านิวเคลียร์ดังนั้นเมื่อเราต้มน้ำสำหรับชาเรากำลังใช้ฟิชชันนิวเคลียร์อย่างน้อยบางส่วน
Andrew Janke

คำตอบ:


14

ฉันจะไม่พูดว่ามันเป็นที่รู้จักกันดีหรือใช้ดี แต่คุณอาจมีลักษณะbasheclipse :

ป้อนคำอธิบายรูปภาพที่นี่

ฉันต้องยอมรับว่าฉันไม่มีประสบการณ์กับ basheclipse และไม่สามารถติดตั้งได้เนื่องจาก eclipse version ไม่ตรงกัน

ในทางกลับกันฉันกำลังใช้คุณสมบัติการดีบักเฉพาะของ bash และ ksh93 โดยเฉพาะอย่างยิ่งtrap ERRและตัวtrap DEBUGที่ไม่ใช่ debuggers ที่ใช้kshdbและbashdb


ฉันคิดว่ามันค่อนข้างน่าขันที่ภาพหน้าจอของคุณเป็นหน้าต่างสไตล์ Windows
Agi Hammerthief

@NigelNquande พูดตามตรงฉันไม่ใช่ผู้ใช้ basheclipse (หรือ eclipse สำหรับเรื่องนั้น) ฉันใช้คุณสมบัติการแก้ไขข้อบกพร่องที่จัดทำโดย ksh93 และ bash แต่ไม่มี GUI ภาพหน้าจอนี้นำมาจากไซต์ basheclipse มันอาจจะเป็นธีมคำพังเพยหรือเป็นเพียงภาพหน้าจอจริงของ Windows 7 ที่กำหนดให้กับ OS = "cygwin"
jlliagre

IMO ถ้าคุณกำลังจะทำอะไรทำด้วยรองเท้าบู๊ตไม่ใช่ครึ่งเอ็ด (แต่นั่นไม่ได้อยู่ที่นี่ สำหรับฉันbashดูเหมือนว่า Windows ครึ่งหนึ่งทำงานได้ดีใน GNU / Linux
Agi Hammerthief

@NigelNquande อย่างที่ฉันเขียนนี่ไม่ใช่ภาพหน้าจอของฉัน ไม่ว่าในกรณีใดฉันจะใช้ bash บน Windows เมื่อไม่มีทางเลือกเท่านั้นและcygwinค่อนข้างมีประสิทธิภาพในการซ่อนระบบปฏิบัติการพื้นฐาน
jlliagre

1
@ user7000 ฉันเขียนและไม่สามารถติดตั้งได้เนื่องจาก eclipse version ไม่ตรงกันแต่ฉันจำไม่ได้ว่าเป็น eclipse เวอร์ชันใด มีการจัดทำเอกสารให้ทำงานกับ Eclipse 4.5.2 หรือไม่: sourceforge.net/projects/basheclipse/files/?source=navbar
jlliagre

8

IDE ที่สร้างขึ้นโดยมีวัตถุประสงค์จะจัดเรียงของการเอาชนะวัตถุประสงค์ของการเขียนสคริปต์เชลล์ไม่ต้องพูดถึงว่าเป็นไปไม่ได้ที่จะทำเพราะเชลล์ส่วนใหญ่ที่เรียกคำสั่งจากภายนอก - คุณจะแก้ปัญหาอย่างไร การดีบักด้วยจุดตรวจสอบนั้นใช้งานง่ายสำหรับเชลล์ - เชลล์สคริปต์มักใช้งานกับไฟล์มากและมีผลข้างเคียงที่เป็นอันตรายต่อการโทรทุกครั้ง Scripting BY DESIGN ทำงานแบบทีละบรรทัดดังนั้น "สภาพแวดล้อม" ของคุณจึงเป็นเทอร์มินัล - คุณสามารถสะท้อนตัวแปรได้เสมอสภาพแวดล้อมของคุณอยู่ที่นั่นเสมอสำหรับคุณไม่มี "ขั้นตอนที่กำหนด" ที่คุณจะต้องขัดจังหวะ คุณทำสิ่งที่คุณต้องการทำอย่างต่อเนื่องทดสอบแต่ละครั้งถ้าคุณมีสิ่งที่คุณต้องการแล้ววางบรรทัดเหล่านี้ลงในสคริปต์เพื่อใช้อีกครั้ง

สำหรับภาษาสคริปต์ที่ผ่านการรับรองอย่างเต็มรูปแบบ (Python, Perl และอื่น ๆ ) คุณมีทั้งหมดนี้ แต่ bash / zsh / ksh / ... เป็น "กาว" แบบโต้ตอบสำหรับคำสั่งอื่น ๆ และเป็นตัวดีบั๊กของตัวเอง

อย่างไรก็ตามโปรแกรมแก้ไขข้อความส่วนใหญ่จะเน้นรหัสสำหรับคุณและemacsจะ (หากคุณพบแพ็คเกจที่ถูกต้องฉันไม่เคยใส่ใจกับการทำเช่นนั้นสำหรับเชลล์สคริปต์) ให้คำหลักที่ตั้งโปรแกรมได้ ฉันเชื่อว่าviสามารถทำสิ่งนั้นได้เช่นกัน


2
คุณจะกำหนด "ภาษาสคริปต์ที่ผ่านการรับรองโดยสมบูรณ์ได้อย่างไร"
Trevor Sullivan

1
@TrevorSullivan ในแบบของเขา อย่าโปรดให้ความเกลียดชัง
เดช

1
@Det: มันเป็นคำถามที่ถูกต้องตามกฎหมาย - ถ้าเราไม่เห็นด้วยกับคำจำกัดความที่เป็นรูปธรรมทั่วไปของวลีแล้วเราก็อาจไม่มีการอภิปรายเกี่ยวกับมัน ฉันแค่อยากรู้ว่าวลีนั้นมีความหมายอย่างไร
เทรเวอร์ซัลลิแวน

3
ฉันไม่เห็นด้วยกับที่ IDEs เอาชนะวัตถุประสงค์ของการเขียนสคริปต์เชลล์ คุณอาจต้องการล้างเชลล์สคริปต์ของคุณ (เช่นตัวแปรภายนอก, ตรวจจับตัวแปรที่ไม่ได้ใช้ - ซึ่งเป็นสิ่งที่ฉันพยายามทำในการล้างสคริปต์ System V Init ของฉันซึ่งใช้เวลานานโดยไม่จำเป็นโดยเฉพาะเมื่อทำซ้ำจากตัวอย่างที่มีอยู่)
Sridhar Sarnobat

2
ฉันจะเพิ่มมันและ IDE ก็มีระบบ Intellisense หรือเครื่องมืออื่น ๆ ดังนั้นฉันไม่จำเป็นต้องทำ googling หรือดู man pages เพื่อจดจำบางสิ่ง นอกจากนี้ยังช่วยให้ฉันเก็บสคริปต์ของฉันทั้งหมดไว้ในโครงการก้าวข้ามบรรทัดตรวจสอบข้อโต้แย้งที่เข้ามาลูปทดสอบและสวิตช์แยกท่อสำหรับการตรวจสอบ ฯลฯ
cjbarth

2

ฉันยังรับรองความคิดในการใช้ IDE สำหรับสคริปต์ทุบตี

หนึ่งสามารถเขียนสคริปต์ทุบตีโดยใช้โน๊ตบุ๊ค jupyter

โน้ตบุ๊ก jupyter สามารถติดตั้งผ่านทางอนาคอนดาในขณะที่ bash kernel สำหรับโน้ตบุ๊ก jupyter (หรือ jupyterlab) สามารถติดตั้งได้ด้วยคำสั่งต่อไปนี้ ( แหล่งที่มา ):

pip install bash_kernel และ

python -m bash_kernel.install

หลังจากนั้นคุณสามารถเลือกทุบตีบนอินสแตนซ์ลอนเชอร์ตัวใหม่ของเนวิเกเตอร์อนาคอนดาดังที่แสดงด้านล่าง

สิ่งเดียวคือ (เท่าที่ฉันรู้) มันไม่ทำงานกับคำสั่งที่คุณต้องป้อนข้อมูลในพรอมต์เช่นreadหรืออาร์กิวเมนต์อื่น ๆ ที่คุณผ่านหลังจากเรียกสคริปต์ แต่นอกเหนือจากนั้นมันใช้งานได้ดีทีเดียว

ป้อนคำอธิบายรูปภาพที่นี่


1

พบปัญหานี้ด้วยตนเองของฉันหมายความว่าฉันค้นหา bash script IDE มีปลั๊กอินจำนวนมากบน populare IDE เช่นคราสและอื่น ๆ อีกมากมาย แต่พบว่ามันทำงานมากมายที่เกี่ยวข้องกับ IDE เพียงเพื่อสร้างสคริปต์ทุบตีเล็ก ๆ ในทางกลับกันการทำงานกับบรรณาธิการทำให้เกิดข้อผิดพลาดทางไวยากรณ์และเสียเวลามากมายไม่ต้องพูดถึงมันไม่สนุกเลย

ดังนั้นฉันจึงพบเครื่องมือสคริปต์ทุบตีออนไลน์สำหรับการสร้างสคริปต์เรียกว่าhttp://bashops.netเป็นออนไลน์แล้วสามารถเริ่มต้นสร้างสคริปต์ทุบตีได้ทันทีโดยไม่ต้องยุ่งในการติดตั้งใด ๆ


1

Rogalmic เขียนปลั๊กอินสำหรับ VSCode bashdbและzshdb

พวกมันขึ้นอยู่กับ debuggers ของฉันสำหรับbashและzshดังนั้นพวกเขาจึงจัดการกับกรณีขอบจำนวนมากที่ขาดในการพูดว่า debugger eclipse สำหรับ bash


0

ฉันอยากจะแนะนำ PyCharm Community edition ด้วยปลั๊กอินBashSupport มันมีฟังก์ชั่น IDE ที่ยอดเยี่ยมพร้อมกับ intellij Intellisense

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.