E se eu quiser imprimir todos os comandos no arquivo sh para o arquivo de log e também para o console

E se eu quiser imprimir todos os comandos no arquivo sh para o arquivo de log e também para o console

E se eu quiser imprimir todos os comandos do arquivo sh no arquivo de log e também no console.

digamos que por enquanto tenho abaixo, quero um comando de linha única (comoImprimir para arquivo, que imprimirá todas as saídas de comandos em arquivo) que pode imprimir todas as saídas de comandos anteriores /echos em arquivo e console #sh

SH
**some command here, so it will print all below echos to file and console** 

echo start
echo "My first name is $1"
echo "My surname is $2"
echo "Total number of arguments is $#" 
echo end 

Responder1

Existem duas abordagens. Outros mencionaram tee. A segunda abordagem é o comando “script” e suas variantes que registram tudo enviado para o stdout dos processos. Se você deseja o redirecionamento em um script, use

#!/bin/bash
{
echo start
echo "My first name is $1"
echo "My surname is $2"
echo "Total number of arguments is $#"
echo end
} | tee logfile

Responder2

tente isso...

#!/bin/bash

log_file=/tmp/log.txt

function log(){
echo "$@" | tee -a "${log_file}"
}

log "test"
log "hello"
log "testing...."

Responder3

Você pode usar teeo comando para redirecionar a saída do seu script para stdout e arquivo.

O comando a seguir imprimirá o conteúdo do arquivo f1.txt no arquivo f2.txt, bem como no stdout (console).

cat f1.txt | tee f2.txt

Para mais informações sobre tee checkpágina de manual

Responder4

Existe scriptum programa que digita uma sessão de terminal, ou seja, registra tudo o que é exibido no terminal.

informação relacionada