Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
SCRIPT(1)		FreeBSD	General	Commands Manual		     SCRIPT(1)

     script -- make typescript of terminal session

     script [-adfkpqr] [-F pipe] [-t time] [file [command ...]]

     The script	utility	makes a	typescript of everything printed on your ter-
     minal.  It	is useful for students who need	a hardcopy record of an	inter-
     active 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.

     The following options are available:

     -a	     Append the	output to file or typescript, retaining	the prior con-

     -d	     When playing back a session with the -p flag, do not sleep	be-
	     tween records when	playing	back a timestamped session.

     -F	pipe
	     Immediately flush output after each write.	 This will allow a
	     user to create a named pipe using mkfifo(1) and another user may
	     watch the live session using a utility like cat(1).

     -f	     Create file.filemon or typescript.filemon using filemon(4).

     -k	     Log keys sent to the program as well as output.

     -p	     Play back a session recorded with the -r flag in real time.

     -q	     Run in quiet mode,	omit the start,	stop and command status	mes-

     -r	     Record a session with input, output, and timestamping.

     -t	time
	     Specify the interval at which the script output file will be
	     flushed to	disk, in seconds.  A value of 0	causes script to flush
	     after every character I/O event.  The default interval is 30 sec-

     The script	ends when the forked shell (or command)	exits (a control-D to
     exit the Bourne shell (sh(1)), and	exit, logout or	control-D (if
     ignoreeof is not set) for the C-shell, csh(1)).

     Certain interactive commands, such	as vi(1), create garbage in the	type-
     script file.  The script utility works best with commands that do not ma-
     nipulate the screen.  The results are meant to emulate a hardcopy termi-
     nal, not an addressable one.

     The following environment variables are utilized by script:

	    The	SCRIPT environment variable is added to	the sub-shell.	If
	    SCRIPT already existed in the users	environment, its value is
	    overwritten	within the sub-shell.  The value of SCRIPT is the name
	    of the typescript file.

     SHELL  If the variable SHELL exists, the shell forked by script will be
	    that shell.	 If SHELL is not set, the Bourne shell is assumed.
	    (Most shells set this variable automatically).

     csh(1) (for the history mechanism), filemon(4)

     The script	command	appeared in 3.0BSD.

     The -d, -p	and -r options first appeared in NetBSD	2.0 and	were ported to
     FreeBSD 9.2.

     The script	utility	places everything in the log file, including linefeeds
     and backspaces.  This is not what the naive user expects.

     It	is not possible	to specify a command without also naming the script
     file because of argument parsing compatibility issues.

     When running in -k	mode, echo cancelling is far from ideal.  The slave
     terminal mode is checked for ECHO mode to check when to avoid manual echo
     logging.  This does not work when the terminal is in a raw	mode where the
     program being run is doing	manual echo.

     If	script reads zero bytes	from the terminal, it switches to a mode when
     it	only attempts to read once a second until there	is data	to read.  This
     prevents script from spinning on zero-byte	reads, but might cause a
     1-second delay in processing of user input.

FreeBSD	13.0		       December	4, 2013			  FreeBSD 13.0


Want to link to this manual page? Use this URL:

home | help