シェルスクリプト、特にbashおよびzshスクリプトを対象としたIDEはありますか?つまり、Python、Java、Cなどの通常のプログラミング言語で利用可能な機能と同様に、ブレークポイント、変数の検査と変更などの機能を備えたシェル環境とさらに重要なデバッグ環境の構文強調表示を使用します。
たとえば、Microsft Windows Powershell には Powershell Plus や PowerGui のようなIDEがあります。
Googlingは、シェルスクリプトを編集するためのEclipseプラグイン ShellEd と、ShellEdで動作するBashデバッガー BashEclipse の組み合わせを生み出しました。まだ試していません。
このコンボに似たUn * x用のシェルスクリプトIDEは他にありますか?誰かが彼らと何らかの経験をしていますか?
私はそれがよく知られているか、よく使われているとは言いませんが、あなたは basheclipse を見るかもしれません:
私はbasheclipseの経験がなく、Eclipseバージョンの不一致のためにインストールに失敗したことさえ認めざるを得ません。
一方、私はbashとksh93固有のデバッグ機能、特にtrap ERR
とtrap DEBUG
を使用していますが、それらに基づくデバッガーは使用していません kshdb と bashdb
目的に合わせて構築されたIDEは、シェルスクリプトの目的を打ち負かします。言うまでもなく、ほとんどのシェルが外部コマンドを呼び出しているため、ほとんど不可能です。それをデバッグするには?チェックポイントを使用したデバッグは、シェルにとって直観に反します-シェルスクリプトは通常、ファイルを頻繁に操作するため、呼び出しごとに破壊的な副作用があります。常に変数をエコーします。環境は常に存在します。中断する必要のある「所定のフロー」はありません。行ごとに、やりたいことを段階的に行い、必要なものが得られたかどうかを毎回テストします。これらの行をスクリプトに貼り付けて再度使用します。IDEは、実際にはシェル自体で実行できるほとんどのことを無効にします。
完全に修飾されたスクリプト言語(Python、Perlなど)の場合はこれだけですが、bash/zsh/ksh/...は他のコマンドのインタラクティブな「接着剤」であり、独自のデバッガーです。
ただし、ほとんどのテキストエディターはコードを強調表示し、emacs
は(適切なパッケージが見つかった場合は、シェルスクリプトでこれを行うことはありませんでした)プログラム可能なキーワード補完を提供します。私はvi
もそれができると信じています(ここでフレームウォーを開始しないでください)。
また、bashスクリプトにIDEを使用するという考えも支持しています。
Jupyterノートブックを使用してbashスクリプトを作成できます。
Jupyterノートブックは anaconda を使用してインストールできますが、jupyterノートブック(またはjupyterlab)のbashカーネルは次のコマンド( source )を使用してインストールできます。
pip install bash_kernel
および
python -m bash_kernel.install
その後、次に示すように、anacondaナビゲーターの新しいランチャーインスタンスでbashを選択できます。
唯一のことは、(私の知る限り)read
やスクリプトを呼び出した後に渡すその他の引数など、プロンプトに入力する必要があるコマンドでは機能しないことです。しかし、それ以外はかなりうまくいきます。
私自身でこの問題が発生しました、つまりbashスクリプトを検索したIDE、populare IDEにはEclipseや他の多くのプラグインと同じようにたくさんのプラグインがありますが、小さなbashスクリプトを作成するだけでIDEを処理するのは大変な作業ですが、一方でエディタを使用すると、多くの構文エラーと時間の無駄が発生します。
そのため、スクリプトを作成するためのオンラインbashスクリプトツールを見つけました。これは http://bashops.net と呼ばれ、オンラインで、インストールに忙しくすることなく、すぐにbashスクリプトの作成に取り掛かることができます。
BashSupport プラグインを含むPyCharmコミュニティ版を提案したいと思います。これには優れたIDE intellij intellisenseの機能があります。