Modificando scripts DTT padrão para usar -c em vez de $ 1

1

Existem muitos programas dtrace excelentes e alguns deles exigem que um PID seja passado para eles, para que eles rastreiem esse PID. Dentro dos scripts do dtrace, esse argumento é armazenado em $ 1. É possível simplesmente substituir $ 1 por $ target e -c no cmdline, e o restante da lógica do script permanece o mesmo?

É tão simples quanto eu acho que deveria ser?

    
por Junaid Shahid 22.11.2017 / 03:44

1 resposta

0

Você teria que preencher a variável $target em seu script, como por exemplo target=$1 . Simplesmente substituí-lo não será suficiente e não funcionará.

Vamos ver o que podemos encontrar na documentação sobre isso:

Positional parameters

Arguments passed to the script from the command line [1] : $0, $1, $2, $3 ...

$0 is the name of the script itself, $1 is the first argument, $2 the second, $3 the third, and so forth. [2] After $9, the arguments must be enclosed in brackets, for example, ${10}, ${11}, ${12}.

The special variables $* and $@ denote all the positional parameters.

O que você pode fazer, no entanto, é algo semelhante a isso para torná-lo mais legível dentro do script:

#!/bin/sh
target=$1

Mas isso significaria aninhamento de variáveis / dados que é codificado pela maioria das pessoas como uma prática ruim.

    
por 22.11.2017 / 04:29