Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Syntax error: redirection unexpected

Olá! Estou usando o Ubuntu server 20.04 em uma VM e meu código desse exercício está retornando esse bug

processos-memoria.sh: 17: Syntax error: redirection unexpected

Aqui está o meu código:

#!/bin/bash

if [ ! -d logs ]
then
        mkdir logs
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,) >> logs/$nome_processo.log
                tamanho_processo=$(ps -p $pid -o size | grep [0-9])
                echo "$(bc <<< "scale=2;$tamanho_processo/1024") MB"  >> logs/$nome_processo.log
        done
}

processos_memoria
if [ $? -eq 0 ]
then
        echo "Os arquivos foram salvos com sucesso"
else
        echo "Houve um problema na hora de salvar os arquivos"
fi

Fiz um .sh de teste apenas com o comando "bc" e deu o mesmo erro na hora de executa-lo

1 resposta
solução!

Eu mesmo resolvi, isso estava acontecendo pq eu precisava usar o interpretador do bash, não do dash.

usar:

bash processos-memoria.sh

ao invés de:

sh processos-memoria.sh

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software