svn commit: r365052 - head/usr.bin/script

Warner Losh imp at FreeBSD.org
Tue Sep 1 16:11:24 UTC 2020


Author: imp
Date: Tue Sep  1 16:11:23 2020
New Revision: 365052
URL: https://svnweb.freebsd.org/changeset/base/365052

Log:
  Have script accept and ignore -e for Linux compat
  
  In the util-linux version of script, it will always exit with succes.
  Except when run with -e, in which case it will have the exit value of
  the child. BSD Script already uses the child's exit value for its exit
  value. Some config and other helper scripts depend on being able to
  specify -e. Accept it for compatibility since we'll already to the
  right thing, but otherwise we ignore it.

Modified:
  head/usr.bin/script/script.1
  head/usr.bin/script/script.c

Modified: head/usr.bin/script/script.1
==============================================================================
--- head/usr.bin/script/script.1	Tue Sep  1 15:52:18 2020	(r365051)
+++ head/usr.bin/script/script.1	Tue Sep  1 16:11:23 2020	(r365052)
@@ -36,7 +36,7 @@
 .Nd make typescript of terminal session
 .Sh SYNOPSIS
 .Nm
-.Op Fl adfkpqr
+.Op Fl adefkpqr
 .Op Fl F Ar pipe
 .Op Fl t Ar time
 .Op Ar file Op Ar command ...
@@ -77,6 +77,12 @@ retaining the prior contents.
 When playing back a session with the
 .Fl p
 flag, do not sleep between records when playing back a timestamped session.
+.It Fl e
+Accepted for compatibility with
+.Em util-linux
+.Nm .
+The child command exit status is always the exit status of
+.Nm .
 .It Fl F Ar pipe
 Immediately flush output after each write.
 This will allow a user to create a named pipe using

Modified: head/usr.bin/script/script.c
==============================================================================
--- head/usr.bin/script/script.c	Tue Sep  1 15:52:18 2020	(r365051)
+++ head/usr.bin/script/script.c	Tue Sep  1 16:11:23 2020	(r365052)
@@ -111,13 +111,15 @@ main(int argc, char *argv[])
 			   warning. (not needed w/clang) */
 	showexit = 0;
 
-	while ((ch = getopt(argc, argv, "adFfkpqrt:")) != -1)
+	while ((ch = getopt(argc, argv, "adeFfkpqrt:")) != -1)
 		switch(ch) {
 		case 'a':
 			aflg = 1;
 			break;
 		case 'd':
 			usesleep = 0;
+			break;
+		case 'e':	/* Default behaior, accepted for linux compat */
 			break;
 		case 'F':
 			Fflg = 1;


More information about the svn-src-head mailing list