1
resposta

Processos com espaços no nome geram problemas na execução

Boa tarde. Ao listar os processos, alguns tem espaço em seu nome. O script funciona perfeitamente bem quando não há espaços no nome. Quanto há espaços, ele mostra uma mensagem de erro

#!/bin/bash

processos=$(ps -e -o pid --sort -size | head -n 11 | grep [0-9])
for pid in $processos

do
        nome_processo=$(ps -p $pid -o comm=)
        data=$(date +%F," - ",%H:%M:%S)
        echo -n $data ", "  $nome_processo >> $nome_processo.log
        echo $nome_processo
done

Utilizo o Lubuntu - não sei se esta informação é relevante para este exercírio.

1 resposta

Experimente usar o $nome_processo entre "" aspas :) assim como bem explicado aqui: https://unix.stackexchange.com/questions/131766/why-does-my-shell-script-choke-on-whitespace-or-other-special-characters