diff --git a/usr.sbin/gstat/gstat.8 b/usr.sbin/gstat/gstat.8 index fbef6f968d82..9ac678911f2b 100644 --- a/usr.sbin/gstat/gstat.8 +++ b/usr.sbin/gstat/gstat.8 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 20, 2006 +.Dd March 12, 2009 .Dt GSTAT 8 .Os .Sh NAME @@ -47,7 +47,9 @@ The options are as follows: .It Fl a Only display providers that are at least 0.1% busy. .It Fl b -Batch mode. Collect numbers, print and exit. +Batch mode. +Collect numbers, print and exit. +Default if stdout is not a tty. .It Fl c Enable display of .Xr geom 4 diff --git a/usr.sbin/gstat/gstat.c b/usr.sbin/gstat/gstat.c index bef33ab09f3a..39054eb09755 100644 --- a/usr.sbin/gstat/gstat.c +++ b/usr.sbin/gstat/gstat.c @@ -99,6 +99,10 @@ main(int argc, char **argv) maxx = -1; curx = -1; loop = 1; + /* Turn on batch mode if output is not tty. */ + if (!isatty(fileno(stdout))) + flag_b = 1; + f_s[0] = '\0'; while ((i = getopt(argc, argv, "adcf:I:b")) != -1) { switch (i) { @@ -318,9 +322,11 @@ main(int argc, char **argv) if (!flag_b) attron(COLOR_PAIR(i)); PRINTMSG(" %6.1lf", (double)ld[7]); - if (!flag_b) + if (!flag_b) { attroff(COLOR_PAIR(i)); - PRINTMSG("|"); + PRINTMSG("|"); + } else + PRINTMSG(" "); if (gid == NULL) { PRINTMSG(" ??"); } else if (gid->lg_what == ISPROVIDER) {