修改標準 DTT 腳本以使用 -c 而不是 $1

修改標準 DTT 腳本以使用 -c 而不是 $1

有許多很棒的 dtrace 程序,其中一些需要將 PID 傳遞給它們,以便它們可以追蹤該 PID。在 dtrace 腳本中,此參數儲存在 $1 中。是否可以在命令列上簡單地將 $1 替換為 $target 和 -c ,而其餘的腳本邏輯保持不變?

事情真的像我想的那麼簡單嗎?

答案1

您必須$target在腳本中填充變量,例如target=$1.僅僅更換它是不夠的,也不起作用。

讓我們看看我們可以在相關文件中找到什麼:

位置參數

從命令列傳遞給腳本的參數[1]$0, $1, $2, $3 ...

$0是腳本本身的名稱,$1是第一個參數,$2第二個,$3第三個,依此類推。[2]在 之後$9,參數必須括在方括號中,例如,${10}, ${11}, ${12}

特殊變數$*$@表示所有位置參數。

但是,您可以做與此類似的操作,以使其在腳本中更具可讀性:

#!/bin/sh
target=$1

但這意味著嵌套變數/數據,這被大多數人編碼視為不好的做法。

相關內容