5

スクリプト/フックを使用して bash プロンプトで入力されるすべてのコマンドを変更する方法はありますか?

私の理想的な世界では、ユーザーがコマンドを入力した後、Enter キーが押される前にスクリプトが起動します。コマンド文字列をパラメーターとして取得し、それを変更して、実行のために bash に渡します (したがって、すべてが透過的に行われます)。

エイリアスを使用して行うことができないいくつかの会社固有の置換にこのフックを使用しますが、何よりもこれが可能かどうかに興味があります。

trap 'function' DEBUGそのシナリオに関する多くの質問があるため、実行された後の最後のコマンドで何かを行うためのいくつかのハックを知っていますが、これはここでは役に立ちません。

よろしくお願いします!

4

1 に答える 1

3

あなたが望むのは一種のコマンド補完です - 私には思えます。

バインド可能な readline コマンド、またはコマンド補完とコマンド置換など、bash の行編集の背後には多くの要素があります。

まず、独自の bash ビルトインを作成してコンパイルできます: http://www.drdobbs.com/shell-corner-bash-dynamically-loadable-b/199 ​​102950

次に、編集行または readline と呼ばれるものを使用して bash を変更でき ます。

http://www.gnu.org/software/bash/manual/html_node/Command-Line-Editing.html

于 2013-04-06T12:17:10.487 に答える