Saída ps e Data em uma linha, para um arquivo?

1

Estou criando um script de criação de log rudimentar e quero capturar a saída de ps up 12345

Até agora eu tenho:

DATE2='date +%Y-%m-%d:%H:%M:%S'
echo ${DATE2} >> $filename

ps up 12345 --no-headers >> $filename

Isso me dá a informação que eu quero, mas em três linhas (1 = a data, 2 = a saída de ps 3 = uma linha em branco)

No entanto, idealmente, gostaria de capturá-los em uma linha. Existe uma maneira de combiná-los (e ignorar a linha em branco)?

    
por IGGt 11.01.2016 / 12:05

2 respostas

3

Você também pode salvar a saída ps na variável e gravá-la usando um eco ou printf.

DATE2='date +%Y-%m-%d:%H:%M:%S'
PS_RESULT='ps up 12345 --no-headers'

printf "%s: %s" "${DATE2}" "${PS_RESULT}" >> $filename

Nota lateral, pode ser útil acostumar-se a $(command) em vez de 'command' quando você puder usá-lo, pois essa sintaxe pode ser aninhada.

    
por 11.01.2016 / 13:43
0

Uma solução é não imprimir uma nova linha no final da primeira string. Você provavelmente vai querer um espaço.

echo -n "${DATE2} " >>"$filename"
    
por 12.01.2016 / 00:43

Tags