Я пытаюсь понять перенаправление вывода.перенаправить вывод на терминал
У меня есть код:
#!/bin/bash
function function1() {
log=${1}.log
exec 3>&1
exec 1>>$log
exec 2>&1
echo checking $log >&3
echo txt to $log
}
function1 log1
function1 log2
exit 0
вывод, что я получаю:
checking log1.log
и файл log1.log
с содержанием
txt to log1.log
checking log2.log
и файл log2.log
с содержанием
txt to log2.log
, что я действительно хочу это файл log1.log
с содержанием
txt to log1.log
и файл log2.log
с содержанием
txt to log2.log
и вывода на терминал, чтобы быть.
checking log1.log
checking log2.log
Как я могу это сделать, пожалуйста? Я знаю, что могу использовать function1 log1 > log1.log 2>&1
, но чем я не могу перенаправить эхо обратно в терминал в функции1, могу, но это похоже на результат.
Вы устанавливаете 1 в файл журнала, а затем в следующем итерационном задании 3, где 1 балл. – 123
Спасибо, я не знал, что он работает так (1 для журнала, от 3 до 1 ...) – andrej