いくつかの素晴らしいdtraceプログラムがあり、その中にはPIDを追跡するためにPIDを渡す必要があります。 dtraceスクリプトでは、このパラメータは$ 1に保存されます。残りのスクリプトロジックは同じままで、コマンドラインで$ 1を$ targetと-cに置き換えることは可能ですか?
本当に思ったより簡単ですよね?
答え1
$target
たとえば、スクリプトに変数を入力する必要がありますtarget=$1
。単に変更するだけでは十分ではなく、機能しません。
関連文書で何が見つかるかを見てみましょう。
コマンドラインからスクリプトに渡されたパラメータ[1]:
$0, $1, $2, $3 ...
$0
はスクリプト自体の名前、$1
は最初のパラメータ、$2
2番目、$3
3番目などです。[2]次に、$9
パラメータを角かっこで囲む必要があります(例:)${10}, ${11}, ${12}
。特殊変数
$*
そして$@
すべての位置パラメータを表します。
ただし、次のような操作を行うことで、スクリプトで読みやすくすることができます。
#!/bin/sh
target=$1
ただし、これは変数/データを入れ子にすることを意味します。これは、コーディングするほとんどの人が悪い習慣と見なされます。