#!/bin/bash
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 problemao e tanto, parca"
fi
Quando executo o programa, ele diz assim:
processos-memoria.sh: line 14: log/$nome_processo.log: ambiguous redirect
processos-memoria.sh: line 16: log/$nome_processo.log: ambiguous redirect
processos-memoria.sh: line 14: log/$nome_processo.log: ambiguous redirect
processos-memoria.sh: line 16: log/$nome_processo.log: ambiguous redirect
processos-memoria.sh: line 14: log/$nome_processo.log: ambiguous redirect
processos-memoria.sh: line 16: log/$nome_processo.log: ambiguous redirect
Os arquivos foram salvos com sucesso
O programa dá certo, mas tem esses tais de "ambiguous redirect". Por quê?