Вы можете использовать механизм xtrace
, при котором оболочка выводит выполняемые команды на стандартный вывод:
(set -x; ls -l) > out-err.dat 2>&1
Измените $PS4
с его значения по умолчанию"+ "
(в большинстве оболочек )на любое другое, если вам это не нравится (сделайте его пустым, если вы не хотите префикс ).
Как функция:
log_into() ( # args: output-file command args
exec > "$1" 2>&1
shift
PS4='Running: '
set -o xtrace
"$@"
)
log_into out-err.dat ls -l
Это уже описано, например,. здесь:https://serverfault.com/questions/613256/yum-error-in-preun-scriptlet-when-removing-packages
YUM был заменен на DNF, но этот параметр остался прежним.
dnf --setopt=tsflags=noscripts
или rpm --noscripts
должны помочь.