Bashスクリプトでコマンドを傍受して修正します。

Bashスクリプトでコマンドを傍受して修正します。

いくつかのスクリプトがあり、スクリプトのいくつかのコマンドは次のとおりです。

./executable arg1 arg2 .. argn

上記のコマンドを次に変更したいと思います。

LD_PRELOAD=/some/lib ./executable my_arg1 my_argn arg1 arg2 argn; some_other_command

スクリプトを変更する1つの方法ですが、そうしたくありません。このコマンドを傍受して変更して実行したいです。どうすればいいですか?

ベストアンサー1

まず、既存の実行可能ファイルを新しい場所に移動します。

mv ./executable ./executable.original

次に、その中にシェルスクリプトを作成します。次のコマンドを次の新しいファイルに入力します./executable

#!/bin/sh
LD_PRELOAD=/some/lib ./executable.original my_arg1 my_argn "$@"
some_other_command

シェルは"$@"呼び出し元プログラムによってarg1 arg2 argn提供される注文を置き換えます。

第三に、新しいファイルに実行ビットを設定します。

chmod a+rx ./executable

おすすめ記事