Используйте tee
.
kernel_info () {
{ printf 'Kernel version: '
uname -v
} | tee -a /path/to/kernel_info
}
Эта функция запишет объединенный вывод printf
и uname
в данный файл и продолжит записывать то же самое в стандартный вывод.
Параметр -a
добавляет tee
к файлу.
Если вы хотите параметризовать функцию, вы можете.
kernel_info () {
local fname
fname=${1:-/default/path/to/kernel_info}
{ printf 'Kernel version: '
uname -v
} | tee -a "$fname"
}
kernel_info # Writes to /default/path/to/kernel_info
kernel_info /var/log/kernel_info # Write to an alternate file