修改标准 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

但这意味着嵌套变量/数据,这被大多数人编码视为不好的做法。

相关内容