Регистрация терминала во время выполнения сценария установки - PullRequest
1 голос
/ 15 июня 2011

Я написал сценарий установки в оболочке, который выполняет настройку различных вещей, таких как xserver, сеть и т. Д., А затем устанавливает несколько RPM, что не проблема. Но я хочу иметь возможность регистрировать все, что идет на экран терминала. Можно ли это сделать из скрипта, чтобы, если конечный пользователь запускает ./Install.sh, он все делал (включая ведение журнала).

Я пытался использовать «скрипт», но он не работает из самого скрипта Install.sh.

Спасибо

1 Ответ

1 голос
/ 15 июня 2011

Просто используйте:

script logfilename install.sh

, когда install.sh завершил выполнение, script также завершится - так что вы получите все, что вошли в logfilename.

Возможно, выможно сделать его двухэтапным, поэтому вы должны переименовать ваш текущий install.sh в install-stage2.sh, и ваш install.sh будет содержать:

script ./install.log ./install-stage2.sh

UPDATE из моего man script

NAME
     script -- make typescript of terminal session

SYNOPSIS
     script [-akq] [-t time] [file [command ...]]

DESCRIPTION
     The script utility makes a typescript of everything printed on your terminal.  It is useful for students who need
     a hardcopy record of an interactive session as proof of an assignment, as the typescript file can be printed out
     later with lpr(1).

     If the argument file is given, script saves all dialogue in file.  If no file name is given, the typescript is
     saved in the file typescript.

     If the argument command is given, script will run the specified command with an optional argument vector instead
     of an interactive shell.
...