cat /proc/loadavg
fornece uma linha com alguns números, alimentando a saída para set --
mapeia esses números para as variáveis $ N.
Veja por exemplo:
$ echo $1 $2
$ set -- HELLO WORLD
$ echo $1
HELLO
$ echo $2
WORLD
Oi eu tenho um plugin munin que faz isso
load_fetch() {
set -- $(cat /proc/loadavg)
cat <<EOF
load1.value $1
load5.value $2
load15.value $3
EOF
}
Eu estava ferindo se alguém poderia me dizer o que o "set -" está fazendo? não é uma coisa do leste para procurar e obter resultados.
cat /proc/loadavg
fornece uma linha com alguns números, alimentando a saída para set --
mapeia esses números para as variáveis $ N.
Veja por exemplo:
$ echo $1 $2
$ set -- HELLO WORLD
$ echo $1
HELLO
$ echo $2
WORLD
"Set -" é uma cláusula bash e, portanto, não é específica para munin. Chegando à ajuda do bash para o parâmetro set você pode encontrar isto:
- Se nenhum argumento seguir essa opção, os parâmetros posicionais não serão definidos. Caso contrário, os parâmetros posicionais são definidos para os argumentos, mesmo que alguns deles comecem com um '-'.
No seu caso específico, o que ele faz é mapear / passar o conteúdo de cat / proc / loadavg como parâmetros $ 1 $ 2 e $ 3 para que eles possam atribuí-los a load1.value, load5.value e load15.value respectivamente
Para mais informações, use man ou o seguinte URL: link