Using the RPC gives you some protection against ambiguities and future CLI changes. If you say:
param $target;
var $command = <command> "ping " _ $target;
and someone runs your script as "op foo target wait" then you'll get a parse error, since "wait" is a valid CLI token. But if you said:
var $command = <ping> {
<host> $target;
}
then there's no parse issue regardless of your argument. In most cases, this is a fairly minor issue, but the "belt and suspenders" part of me always wants to avoid errors, so the rigidity of the specific RPC wins over the flexibility of <command> RPC in most of my scripts.
Thanks,
Phil