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

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

いくつかの素晴らしい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

ただし、これは変数/データを入れ子にすることを意味します。これは、コーディングするほとんどの人が悪い習慣と見なされます。

関連情報