D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
proc
/
thread-self
/
root
/
usr
/
share
/
Modules
/
bin
/
Filename :
mkroot
back
Copy
#! /bin/sh # # MKROOT, Makes all the usual ./bin, ./sbin, ./etc, ./lib, ./include, # ./info and BSD-style ./man/* directories # Copyright (C) 2000-2017 R.K. Owen # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. ########################################################################## PERMS=755 usage() { cat <<EOF $0 makes all the usual ./bin, ./sbin, ./etc, ./lib, ./include, ./info and BSD-style ./man/\* directories if the first option is "-c" it will clean out any empty directories of same. It also sets the permissions to $PERMS on the directories unless overridden by the -p option. usage: $0 [-p|--perms XXX] [-m|--make] [-c|--clean] -p XXX permissions for directories in chmod suitable format -m make directories in the current directory -c clean out empty directories Note common man directory conventions '1' - user commands '3' - library functions '5' - file formats and conventions '7' - macro packages and conventions '8' - administrative commands 'l' - local commands by R.K.Owen,Ph.D. version 'Revision: 1.1.1.1.28.1 $ Date: 2010/11/11 18:23:18 $' EOF } if [ $# -eq 0 ] then usage exit 1 fi while [ $# -gt 0 ] do case $1 in -p|-perms|--p|--perms) shift PERMS=$1 shift continue ;; -c|-clean|--c|--clean) if [ ! -s ./man/whatis ]; then rm ./man/whatis else echo ./man/whatis is not empty fi for m in 1 2 3 4 5 6 7 8 n p l do if [ -d ./man/man$m ]; then if [ `ls ./man/man$m|wc -l` -eq 0 ]; then rmdir ./man/man$m if [ -d ./man/cat$m ]; then if [ `ls ./man/cat$m|wc -l` -eq 0 ]; then rmdir ./man/cat$m else echo ./man/cat$m is not empty fi;fi else echo ./man/man$m is not empty fi;fi done for d in bin sbin etc lib include info man do if [ -d ./$d ]; then if [ `ls ./$d|wc -l` -eq 0 ]; then rmdir ./$d else echo ./$d is not empty fi;fi done exit ;; -m|-make|--m|--make) for d in bin sbin etc lib include info man do mkdir ./$d ; chmod $PERMS ./$d done touch ./man/whatis ; chmod $PERMS ./man/whatis for m in 1 2 3 4 5 6 7 8 n p l do mkdir ./man/man$m ; chmod $PERMS ./man/man$m mkdir ./man/cat$m ; chmod $PERMS ./man/cat$m done exit ;; *) usage exit 2 ;; esac done exit