¿Qué sucede si quiero imprimir cada comando en el archivo sh en el archivo de registro y en la consola?
Digamos que por ahora tengo a continuación, quiero un comando de una sola línea (comoImprimir archivo, que imprimirá todos los resultados de los comandos en el archivo) que puede imprimir todos los resultados del comando anterior /echos en el archivo y la consola #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
Respuesta1
Hay dos enfoques. Otros han mencionado la camiseta. El segundo enfoque es el comando "script" y sus variantes que registran todo lo enviado a la salida estándar de los procesos. Si desea la redirección en un script, utilice
#!/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
Respuesta2
prueba esto...
#!/bin/bash
log_file=/tmp/log.txt
function log(){
echo "$@" | tee -a "${log_file}"
}
log "test"
log "hello"
log "testing...."
Respuesta3
Puede usar tee
el comando para redirigir la salida de su secuencia de comandos a la salida estándar y al archivo.
El siguiente comando imprimirá el contenido del archivo f1.txt en el archivo f2.txt y en la salida estándar (consola).
cat f1.txt | tee f2.txt
Para obtener más información sobre el tee, consultepágina de manual de la camiseta
Respuesta4
Existe script
un programa que escribe a máquina una sesión de terminal, es decir, registra todo lo que se muestra en la terminal.