Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Código com warning

O meu código rodou com um alerta. Antes de dar o aviso de arquivo salvo com sucesso, ele me retornou os seguintes alertas: alocacao-de-memoria.sh: line 14: log/$nome_processo.log: ambiguous redirect alocacao-de-memoria.sh: line 16: log/$nome_processo.log: ambiguous redirect

O código está dessa forma:


if [ ! -d log ]
then 
    mkdir log
fi

processos_memoria(){
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=)
    echo -n $(date +%F,%H:%M:%S,) >> log/$nome_processo.log
    tamanho_processo=$(ps -p $pid -o size | grep [0-9])
    echo "$(bc <<< "scale=2;$tamanho_processo/1024") MB" >> log/$nome_processo.log
done
}

processos_memoria
if [ $? -eq 0 ]
then    
    echo "Os arquivos foram salvos com sucesso"
else
    echo " Houve um problema ao salvar os arquivos"
fi
2 respostas
solução!

A variavel $nome_processo deve estar vindo com espaço ou algum outro caracter estranho.

Coloque aspas ao redor dela que deve resolver:

>> log/"$nome_processo".log

Coloque aspas ao redor dela que deve resolver