標準の DTT スクリプトを変更して、$1 の代わりに -c を使用する

標準の DTT スクリプトを変更して、$1 の代わりに -c を使用する

世の中には素晴らしい dtrace プログラムが数多くありますが、そのいくつかでは、PID をトレースするために、その PID を渡す必要があります。dtrace スクリプト内では、その引数は $1 に格納されます。コマンドラインで $1 を $target と -c に置き換えるだけで、スクリプトのロジックの残りは同じままにすることは可能ですか?

それは私が思うほど単純なものでしょうか?

答え1

$targetたとえば、スクリプト内で変数を設定する必要がありますtarget=$1。単に置き換えるだけでは不十分で、機能しません。

これに関するドキュメントで何が見つかるか見てみましょう:

位置パラメータ

コマンドラインからスクリプトに渡される引数[1]:$0, $1, $2, $3 ...

$0はスクリプト自体の名前、$1は最初の引数、$22 番目、$33 番目、というように続きます。[2]の後の$9引数は、 のように括弧で囲む必要があります${10}, ${11}, ${12}

特殊変数$*そして$@すべての位置パラメータを示します。

ただし、スクリプト内で読みやすくするために、次のような操作を行うことができます。

#!/bin/sh
target=$1

しかし、それは変数/データをネストすることを意味しますが、これはほとんどのコーディング者にとって悪い習慣と見なされます。

関連情報