Apakah ada shell scripting IDEs yang terkenal dan digunakan untuk Un * x?


23

Apakah ada IDE yang ditargetkan pada skrip shell, khususnya skrip bash dan zsh? Ini berarti memiliki penyorotan sintaksis untuk skrip shell dan lingkungan debugging yang lebih penting dengan fitur-fitur seperti breakpoints, inspeksi dan modifikasi variabel, dll., Seperti yang tersedia untuk bahasa pemrograman reguler seperti Python, Java, dan C.

Misalnya Microsft Windows Powershell memiliki IDE seperti Powershell Plus dan PowerGui .

Googling memunculkan kombinasi ShellEd , sebuah plugin Eclipse untuk mengedit skrip shell, dan BashEclipse , sebuah Bash debugger yang bekerja dengan ShellEd; Saya belum mencobanya.

Apakah ada IDE skrip shell lain untuk Un * x mirip dengan kombo ini? Adakah yang punya pengalaman dengan mereka?


10
Saya tidak menurunkan suara tetapi siapa pun melakukannya, melakukannya karena Anda tidak mengajukan pertanyaan. Satu-satunya pertanyaan dalam posting Anda dapat dijawab dengan Ya / Tidak. Apa yang sebenarnya kamu tanyakan? Bagaimana cara kerja program ini? Apa yang mereka lakukan? Apa yang sebenarnya ingin Anda lakukan?
terdon

10
IDE bash? Fisi nuklir untuk merebus air untuk teh ...
jasonwryan

5
Sebenarnya, memiliki bash debugger adalah ide yang sangat bagus - seperti halnya bahasa pemrograman apa pun, kode Anda akan lebih baik jika Anda melewati setiap baris dalam debugger secara perlahan, memeriksa variabel-variabelnya, memikirkan apa yang dikerjakan kode, dll. Debugger adalah cara terbaik untuk melakukannya, bahkan jika program atau skrip Anda tidak memiliki bug. Anda bisa mendapatkan bashdb di sebagian besar distribusi, yang memungkinkan Anda melakukannya dalam mode teks. Juga, debugger grafis DDD yang menua dapat dibuat untuk bekerja dengan bashdb sehingga Anda memiliki pengalaman yang lebih "visual".
Stabledog

1
Ya, tentu saja orang bisa melakukannya. Dan banyak yang melakukannya, dan itulah yang mereka dapatkan selama bertahun-tahun. Jika itu cocok untuk Anda, saya tidak akan mencoba meyakinkan Anda sebaliknya. Menurut pendapat saya, ini adalah pendekatan inferior yang membebani otak dengan tugas-tugas bernilai rendah (seperti melacak nilai-nilai variabel secara mental, dll). Ide UI debugger yang bagus adalah membebaskan siklus tersebut untuk memikirkan program. Dalam pengalaman saya, ini penting - Anda memiliki lebih banyak perhatian bebas untuk fokus pada memikirkan tentang apa yang dilakukan program jika Anda menghabiskan lebih sedikit untuk hal-hal seperti itu.
Stabledog

1
Bagi kita dengan ceret listrik atau rentang di AS atau Eropa, sebagian besar pembangkit listrik beban-dasar kita dipasok oleh pembangkit listrik tenaga nuklir, jadi ketika kita merebus air untuk minum teh, kita menggunakan fisi nuklir, setidaknya sebagian.
Andrew Janke

Jawaban:


14

Saya tidak akan mengatakan itu terkenal atau digunakan dengan baik tetapi Anda mungkin ingin melihat basheclipse :

masukkan deskripsi gambar di sini

Saya harus mengakui bahwa saya tidak punya pengalaman dengan basheclipse dan bahkan gagal menginstalnya karena ketidakcocokan versi eclipse.

Di sisi lain, saya menggunakan fitur debugging spesifik bash dan ksh93, terutama yang trap ERRdan trap DEBUGbukan debugger yang berdasarkan pada mereka kshdb dan bashdb


Saya merasa agak ironis bahwa tangkapan layar Anda adalah jendela bergaya Windows.
Agi Hammerthief

@NigelNquande Sejujurnya, saya bukan pengguna basheclipse (atau gerhana). Saya pasti menggunakan fitur debugging yang disediakan oleh ksh93 dan bash, tetapi tidak ada GUI. Tangkapan layar ini diambil dari situs basheclipse. Ini mungkin beberapa tema gnome atau hanya tangkapan layar Windows 7 nyata diberi baris OS = "cygwin".
jlliagre

Ya, IMO, jika Anda akan melakukan sesuatu, lakukan dengan boot, bukan setengah ed (tapi itu tidak penting bagi orang lain). Bagi saya, bashpada Windows tampaknya setengah-setengah ketika itu berfungsi dengan baik di GNU / Linux.
Agi Hammerthief

@NigelNquande Seperti yang saya tulis, ini bukan tangkapan layar saya. Bagaimanapun, saya hanya menggunakan bash pada Windows ketika saya tidak punya pilihan dan cygwincukup efisien untuk menyembunyikan OS yang mendasarinya.
jlliagre

1
@ user7000 saya menulis dan bahkan gagal menginstalnya karena ketidakcocokan versi gerhana tapi saya tidak ingat apa versi gerhana itu. Is didokumentasikan untuk bekerja dengan Eclipse 4.5.2: sourceforge.net/projects/basheclipse/files/?source=navbar
jlliagre

8

IDE yang dibangun dengan tujuan akan mengalahkan tujuan scripting shell, belum lagi hampir mustahil untuk dilakukan, karena sebagian besar shell yang melakukan adalah memanggil perintah eksternal - bagaimana Anda men-debug itu? Debugging dengan pos pemeriksaan berlawanan dengan intuisi untuk shell - skrip shell biasanya beroperasi sangat banyak pada file dan dengan demikian memiliki efek samping yang merusak pada setiap panggilan. Scripting BY DESIGN bekerja baris demi baris, sehingga "lingkungan" Anda sebenarnya adalah terminal itu sendiri - Anda selalu dapat menggemakan variabel, lingkungan Anda selalu ada untuk Anda, tidak ada "aliran yang ditentukan" yang harus Anda sela. Anda secara progresif melakukan apa pun yang ingin Anda lakukan, baris demi baris, menguji setiap kali jika Anda mendapatkan apa yang Anda inginkan dan kemudian menempelkan baris-baris ini ke dalam skrip untuk digunakan lagi.

Untuk bahasa scripting yang sepenuhnya memenuhi syarat (Python, Perl dll) Anda memiliki semua ini, tetapi bash / zsh / ksh / ... adalah "lem" interaktif untuk perintah lain dan merupakan pengadu sendiri.

Namun, sebagian besar editor teks akan menyoroti kode untuk Anda, dan emacsakan (asalkan Anda menemukan paket yang tepat, saya tidak pernah repot melakukan hal itu untuk skrip shell) memberikan penyelesaian kata kunci yang dapat diprogram. Saya percaya vidapat melakukannya juga (jangan memulai flamewar di sini).


2
Bagaimana Anda mendefinisikan "bahasa skrip yang memenuhi syarat?"
Trevor Sullivan

1
@ TrevorSullivan dengan caranya sendiri. Jangan, tolong, berikan ke dalam kebencian.
Det

1
@Det: Itu adalah pertanyaan yang sah - jika kita tidak bisa semua sepakat tentang definisi umum dan konkret dari frasa, maka kita mungkin juga tidak memiliki diskusi tentang hal itu. Saya hanya ingin tahu apa yang dimaksud dengan ungkapan itu.
Trevor Sullivan

3
Saya tidak setuju IDE mengalahkan tujuan scripting shell. Anda mungkin ingin membersihkan skrip shell Anda (mis. Inline variabel asing, mendeteksi variabel yang tidak digunakan - yang saya coba lakukan dalam membersihkan skrip System V Init saya yang semakin lama tidak perlu terutama ketika digandakan dari contoh yang ada).
Sridhar Sarnobat

2
Saya juga akan menambahkan itu dan IDE menyediakan intellisense atau alat-alat lain jadi saya tidak harus terus googling atau melihat halaman manual untuk mengingat beberapa hal. Hal ini juga memungkinkan saya untuk menyimpan semua skrip saya dalam sebuah proyek, melangkahi baris, memeriksa argumen yang masuk, tes loop dan switch, memecah pipa untuk diperiksa, dll.
cjbarth

2

Saya juga mendukung gagasan untuk menggunakan IDE untuk skrip bash.

Orang dapat menulis skrip bash menggunakan notebook jupyter.

Notebook jupyter dapat diinstal melalui anaconda sementara kernel bash untuk notebook jupyter (atau jupyterlab) dapat diinstal dengan perintah berikut ( sumber ):

pip install bash_kernel dan

python -m bash_kernel.install

Setelah itu, Anda dapat memilih bash pada instance peluncur baru dari navigator anaconda, seperti yang ditunjukkan di bawah ini.

Satu-satunya hal adalah (sejauh yang saya tahu) tidak bekerja dengan perintah yang harus Anda masukkan ke prompt, seperti readatau argumen lain yang Anda berikan setelah memanggil skrip. Tapi selain itu, itu bekerja dengan cukup baik.

masukkan deskripsi gambar di sini


1

mengalami masalah ini sendiri, berarti saya mencari IDE bash script, ada banyak plugin pada populare IDE seperti gerhana dan banyak lainnya. tetapi merasa banyak pekerjaan berurusan dengan IDE hanya untuk membangun skrip bash kecil. di sisi lain bekerja dengan editor menyebabkan banyak kesalahan sintaks dan membuang-buang waktu, belum lagi itu tidak menyenangkan sama sekali.

jadi saya menemukan alat skrip bash online untuk membuat skrip, disebut http://bashops.net , ini daring, segera dapat mulai bekerja membuat skrip bash, tanpa harus sibuk dalam pemasangan apa pun.


1

Rogalmic menulis plugin VSCode untuk bashdb dan zshdb .

Mereka didasarkan pada debugger saya untuk bash dan zsh , jadi mereka menangani banyak kasus tepi yang kurang di katakan gerhana debugger untuk bash.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.