summaryrefslogtreecommitdiffstats
path: root/bin/mkdir
diff options
context:
space:
mode:
authormharo <mharo@FreeBSD.org>1999-08-28 20:46:00 +0000
committermharo <mharo@FreeBSD.org>1999-08-28 20:46:00 +0000
commit98ee646b7cbfd2db0d98a8256ce203b42e5806c6 (patch)
treee92e533336dc2f2ae73d9d988325b4ff304dee71 /bin/mkdir
parent4ded1b999f5fbc62a3fd44e19d8cec51e81838bc (diff)
downloadFreeBSD-src-98ee646b7cbfd2db0d98a8256ce203b42e5806c6.zip
FreeBSD-src-98ee646b7cbfd2db0d98a8256ce203b42e5806c6.tar.gz
add verbose flag
Reviewed by: obrien
Diffstat (limited to 'bin/mkdir')
-rw-r--r--bin/mkdir/mkdir.13
-rw-r--r--bin/mkdir/mkdir.c19
2 files changed, 17 insertions, 5 deletions
diff --git a/bin/mkdir/mkdir.1 b/bin/mkdir/mkdir.1
index ca092ef..49ac16d 100644
--- a/bin/mkdir/mkdir.1
+++ b/bin/mkdir/mkdir.1
@@ -45,6 +45,7 @@
.Nm mkdir
.Op Fl p
.Op Fl m Ar mode
+.Op Fl v
.Ar directory_name ...
.Sh DESCRIPTION
.Nm Mkdir
@@ -77,6 +78,8 @@ Intermediate directories are created with permission bits of
.Li rwxrwxrwx (\&0777)
as modified by the current umask, plus write and search
permission for the owner.
+.It Fl p
+Be verbose when creating directories, listing them as they are created.
.El
.Pp
The user must have write permission in the parent directory.
diff --git a/bin/mkdir/mkdir.c b/bin/mkdir/mkdir.c
index 06178c1..ebc4e43 100644
--- a/bin/mkdir/mkdir.c
+++ b/bin/mkdir/mkdir.c
@@ -53,11 +53,14 @@ static const char rcsid[] =
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+#include <sysexits.h>
#include <unistd.h>
int build __P((char *, mode_t));
void usage __P((void));
+int vflag;
+
int
main(argc, argv)
int argc;
@@ -69,11 +72,14 @@ main(argc, argv)
omode = pflag = 0;
mode = NULL;
- while ((ch = getopt(argc, argv, "m:p")) != -1)
+ while ((ch = getopt(argc, argv, "m:pv")) != -1)
switch(ch) {
case 'p':
pflag = 1;
break;
+ case 'v':
+ vflag = 1;
+ break;
case 'm':
mode = optarg;
break;
@@ -104,7 +110,9 @@ main(argc, argv)
} else if (mkdir(*argv, omode) < 0) {
warn("%s", *argv);
success = 0;
- }
+ } else if (vflag)
+ (void)printf("%s\n", *argv);
+
if (!success)
exitval = 1;
/*
@@ -172,7 +180,8 @@ build(path, omode)
warn("%s", path);
retval = 1;
break;
- }
+ } else if (vflag)
+ printf("%s\n", path);
}
else if ((sb.st_mode & S_IFMT) != S_IFDIR) {
if (last)
@@ -194,6 +203,6 @@ build(path, omode)
void
usage()
{
- (void)fprintf(stderr, "usage: mkdir [-p] [-m mode] directory ...\n");
- exit (1);
+ (void)fprintf(stderr, "usage: mkdir [-p] [-m mode] [-v] directory ...\n");
+ exit (EX_USAGE);
}
OpenPOWER on IntegriCloud