Un * x用のよく知られ、よく使用されているシェルスクリプトIDEはありますか?


23

シェルスクリプト、特にbashおよびzshスクリプトを対象としたIDEはありますか?これは、Python、Java、Cなどの通常のプログラミング言語で使用可能なものと同様に、シェルスクリプトの構文ハイライトを備え、さらに重要なことに、ブレークポイント、変数の検査や変更などの機能を備えた環境をデバッグすることを意味します

たとえば、Microsft WindowsのPowerShellは、同様のIDE持ち PowerShellのプラスは、Powerguiを

組み合わせ育てグーグル、シェルスクリプトを編集するためのEclipseプラグイン、および BashEclipse、殻と連携バッシュデバッガを、まだ試していません。

このコンボに似たUn * x用の他のシェルスクリプトIDEはありますか?誰かがそれらを使った経験がありますか?


10
あなたは質問をしていないので、私は投票しませんでしたが、だれでもそうしました。投稿内の唯一の質問に「はい/いいえ」で答えることができます。実際に何を求めていますか?これらのプログラムはどのように機能しますか?彼らは何をやる?正確に何をしようとしていますか?
テルドン

10
bash IDE?お茶のための沸騰の水への核分裂...
jasonwryan

5
実際には、bashデバッガーを使用することは非常に良い考えです。他のプログラミング言語と同様に、デバッガーの各行をゆっくりと進み、変数を調べ、コードが何をしているのかを考えれば、コードは良くなりますプログラムやスクリプトにバグがない場合でも、デバッガを使用するのが最善の方法です。ほとんどのディストリビューションでbashdbを取得できます。これにより、テキストモードで実行できます。また、老朽化し​​たDDDグラフィックデバッガーをbashdbで動作させることができるため、より「視覚的な」体験ができます。
ステーブルドッグ14年

1
はい、確かにそれを行うことができます。そして、多くの人がそうしています。そして、それが彼らが何年も通り抜ける方法です。それがあなたに合っていれば、私はあなたを納得させようとはしません。私の意見では、それは低価値の仕事で脳に負担をかける劣ったアプローチです(変数の値を精神的に追跡するなど)。優れたデバッガUIのアイデアは、プログラムについて考えるためにこれらのサイクルを解放することです。私の経験では、これは重要です-そのようなことにあまり費やしていないなら、あなたはプログラムが何をしているのかを考えることに自由に集中することができます。
ステーブルドッグ14年

1
アメリカやヨーロッパに電気ポットやレンジを持っている私たちにとって、ベースロード発電の大部分は原子力発電所から供給されているため、お茶のために水を沸かすとき、少なくとも部分的に核分裂を利用しています。
アンドリュージャンケ

回答:


14

私はそれがよく知られている、またはよく使われているとは言いませんが、basheclipseを見るかもしれません:

ここに画像の説明を入力してください

私はbasheclipseの経験がなく、eclipseバージョンの不一致のためにインストールに失敗したことさえ認めなければなりません。

一方、私はbashおよびksh93固有のデバッグ機能、特にtrap ERRandを使用していtrap DEBUGますが、kshdbおよびbashdbに基づくデバッガーは使用していません


スクリーンショットがWindowsスタイルのウィンドウであるのは皮肉だと思います。
アギハマーシーフ14年

@NigelNquande正直に言うと、私はbasheclipse(またはそのことについてはeclipse)ユーザーではありません。私は間違いなくksh93とbashが提供するデバッグ機能を使用しますが、GUIは使用しません。このスクリーンショットは、basheclipseサイトからのものです。OS = "cygwin"行が指定されたgnomeテーマまたは単なるWindows 7の実際のスクリーンショットです。
jlliagre 14年

まあ、IMO、あなたが何かをするつもりなら、半分のエドbashではなくブーツをつけてそれをしてください(しかし、それはここにも他の誰にもありません)。私にとっては、WindowsがGNU / Linuxで完璧に機能する場合、半分のように思えます。
アギハマーシーフ14年

@NigelNquande私が書いたように、これは私のスクリーンショットではありません。いずれにせよ、私は選択の余地がない場合にのみbashを使用しcygwin、基盤となるOSを隠すのは非常に効率的です。
jlliagre 14年

1
@ user7000を作成し、Eclipseバージョンの不一致によりインストールに失敗しましたが、Eclipseのバージョンが何であるか覚えていません。ただし、Eclipse 4.5.2で動作するように文書化されています:sourceforge.net/projects/basheclipse/files/
source

8

専用のIDEは、シェルスクリプトの目的をある程度無効にします。言うまでもなく、シェルが行うことのほとんどは外部コマンドを呼び出すためです。どのようにデバッグしますか。チェックポイントを使用したデバッグは、シェルにとって直観に反します。シェルスクリプトは通常、ファイルに対して頻繁に動作するため、すべての呼び出しで破壊的な副作用があります。BY DESIGNのスクリプティングは行ごとに機能するため、「環境」は実際には端末そのものです。変数を常にエコーでき、環境は常に存在し、中断する必要のある「所定のフロー」はありません。やりたいことを1行ずつ段階的に実行し、必要なものが得られたら毎回テストしてから、これらの行をスクリプトに貼り付けて再度使用します。

完全に修飾されたスクリプト言語(Python、Perlなど)にはこれらすべてがありますが、bash / zsh / ksh / ...は他のコマンド用のインタラクティブな「接着剤」であり、独自のデバッガーです。

ただし、ほとんどのテキストエディターはコードを強調表示しemacs、適切なパッケージが見つかったとしても、シェルスクリプトでそれを実行することに悩まされることはありません)、プログラム可能なキーワード補完を提供します。私もそれviができると信じています(ここで火炎戦争を始めないでください)。


2
「完全修飾スクリプト言語」をどのように定義しますか?
トレバーサリバン

1
@TrevorSullivanは彼自身のやり方で。憎しみに屈しないでください。
デット

1
@Det:それは正当な質問でした-フレーズの一般的で具体的な定義に全員が同意できない場合、それについて議論することはできません。私はそのフレーズが何を意味するのか興味があります。
トレバーサリバン

3
IDEがシェルスクリプトの目的を無効にすることに同意しません。シェルスクリプトをクリーンアップすることをお勧めします(たとえば、インラインの無関係な変数、未使用の変数を検出します-これは、特に既存の例から複製された場合に不必要に長くなるSystem V Initスクリプトをクリーンアップするためにやろうとしていることです)。
スリダールサルノバト

2
また、それを追加すると、IDEがインテリセンスまたは他のツールを提供するので、グーグルで検索したり、マニュアルページを見続けていくつかのものを覚える必要がなくなります。またなど、着信引数、テスト・ループやスイッチを点検検査のためのパイプをばらばら、プロジェクトで一緒に行以上のステップをすべての私のスクリプトを保つために私を可能に
cjbarth

2

また、bashスクリプトにIDEを使用するというアイデアも支持しています。

jupyterノートブックを使用してbashスクリプトを作成できます。

jupyterノートブックはanacondaを介してインストールできますが、jupyterノートブック(またはjupyterlab)のbashカーネルは次のコマンド(source)でインストールできます。

pip install bash_kernel そして

python -m bash_kernel.install

その後、以下に示すように、anacondaナビゲーターの新しいランチャーインスタンスでbashを選択できます。

唯一のことは(私が知る限り)、プロンプトに入力する必要があるコマンドreadや、スクリプトを呼び出した後に渡す他の引数では機能しないことです。しかし、それ以外は非常にうまく機能します。

ここに画像の説明を入力してください


1

この問題に遭遇したのは、bashスクリプトIDEを検索したことを意味します。populareIDEには、Eclipseや他の多くのプラグインと同様に多くのプラグインがあります。しかし、小さなbashスクリプトを作成するためだけにIDEを扱う多くの作業を見つけてください。一方、エディターでの作業は、多くの構文エラーと時間の無駄を引き起こします。もちろん、それはまったく面白くないことは言うまでもありません。

そのため、スクリプトを構築するためのオンラインbashスクリプトツールを見つけました。これはhttp://bashops.netと呼ばれ、オンラインであり、インストールで忙しくならずにすぐにbashスクリプトの構築に取りかかることができます。



0

BashSupportプラグインを使用したPyCharm Communityエディションをお勧めします。これには、intellij intellisenseとの優れたIDE機能があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.