Итак, есть масса вопросов о перенаправлении вывода. Но я не смог найти ответ на этот сценарий.
Предположим, у меня есть скрипт вроде:
#!/usr/bin/env bash
_other_function1() {
printf "THIS IS A FAKE FUNCTION"
}
_build_libMesh() {
if eval "${__FULL_PATH}/moose/scripts/update_and_rebuild_libmesh.sh" | tee libmesh_build.log; then
_debug printf ">> libMesh built successfully!\\n"
else
_die "libMesh build failed! Check 'libmesh_build.log'\\n"
fi
}
_other_function2(){
printf "THIS IS A FAKE FUNCTION TOO"
}
_build_app() {
if eval "$(make -j "${_JOBS}")" | tee build_app.log; then
_debug printf ">> ${_CODE_NAME} built successfully!\\n"
else
_die "${_CODE_NAME} build failed! Check 'build_app.log'.\\n"
fi
}
_main() {
_other_function1
_build_libmesh
_other_function2
_build_app
}
if [[ "${BASH_SOURCE[0]}" = "${0}" ]]; then
_parse_options "${@}"
_main |& tee nicmma.log
fi
Я, по сути, хочу, чтобы весь скрипт выводился в лог-файл, за исключением вывода двух функций, я хочу, чтобы эти выходные данные были в двух разных лог-файлах.
Итак, nicmma.log
будет выглядеть так:
THIS IS A FAKE FUNCTION
>> libMesh built successfully!
THIS IS A FAKE FUNCTION TOO
CODE_NAME build failed! check 'build_app'.log"