view mk/mkinstalldirs.sh @ 17:12171da8943f

Don't refer to CVS.
author David A. Holland
date Tue, 31 May 2022 01:56:37 -0400
parents 13d2b8934445
children
line wrap: on
line source

#!/bin/sh
# mkinstalldirs - create install directories
# usage: mkinstalldirs dirs

# make this work right even if someone puts spaces in
(
    while [ "x$1" != x ]; do
	echo "$1"
    shift
    done
) | awk '{
    if ($0 ~ "^/") {
	lead = "/";
	sub("^/", "", $0);
    }
    else {
	lead = "";
    }

    n = split($0, a, "/");

    for (i=1;i<=n;i++) {
	printf "%s", lead;
	for (j=1;j<=i;j++) {
	    printf "%s", a[j];
	    if (j<i) printf "/";
	}
	printf "\n";
    }
}' | sort -u | awk '{
    printf "if [ ! -d \"%s\" ]; then\n", $0;
    printf "   echo \"        [MKDIR]   %s\"\n", $0;
    printf "   mkdir \"%s\" || exit 1\n", $0;
    printf "   chmod 755 \"%s\"\n", $0;
    printf "fi\n"
}' | sh