version 1.76, 2005/10/04 18:33:52 |
version 1.77, 2005/10/06 06:43:19 |
|
|
} |
} |
|
|
# M name b/c major minor [mode] [group] |
# M name b/c major minor [mode] [group] |
RMlist="rm -f" |
RMlist[0]="rm -f" |
MKlist=":" |
|
|
|
mkl() { |
mkl() { |
dnl |
dnl |
dnl uncomment if multi mknod happens |
|
dnl |
|
ifelse(1, 0, |
|
[ "${mklist[{-$-}1]}" ] && mklist[{-$-}1]="${mklist[{-$-}1]} {-$-}2 {-$-}3 {-$-}4 {-$-}5" || { |
|
mklist[{-$-}1]="mknod -m {-$-}1 {-$-}2 {-$-}3 {-$-}4 {-$-}5" |
|
modes="$modes {-$-}1" |
|
}, |
|
dnl |
|
dnl non multi mknod |
dnl non multi mknod |
dnl |
dnl |
[ "${mklist[{-$-}1]}" ] && { |
mklist[{-$-}{#mklist[*]}]=";mknod -m {-$-}1 {-$-}2 {-$-}3 {-$-}4 {-$-}5" |
mklist[{-$-}1]="${mklist[{-$-}1]};mknod -m {-$-}1 {-$-}2 {-$-}3 {-$-}4 {-$-}5" |
|
} || { |
|
mklist[{-$-}1]="mknod -m {-$-}1 {-$-}2 {-$-}3 {-$-}4 {-$-}5" |
|
modes="$modes {-$-}1" |
|
}) |
|
} |
} |
|
|
M() { |
M() { |
RMlist="$RMlist {-$-}1" |
RMlist[{-$-}{#RMlist[*]}]={-$-}1 |
mkl ${5-666} {-$-}1 {-$-}2 {-$-}3 {-$-}4 |
mkl ${5-666} {-$-}1 {-$-}2 {-$-}3 {-$-}4 |
G={-$-}{6:-wheel} |
G={-$-}{6:-wheel} |
[ "{-$-}7" ] && { |
[ "{-$-}7" ] && { |
MKlist="$MKlist;chown {-$-}7:{-$-}G {-$-}1" |
MKlist[{-$-}{#MKlist[*]}]=";chown {-$-}7:{-$-}G {-$-}1" |
} || { |
} || { |
case $G in |
case $G in |
wheel)g=0;;kmem)g=2;;operator)g=5;;tty)g=4;;dialer)g=117;;_lkm)g=61;; |
wheel) |
|
[ {-$-}{#whlist[*]} = 0 ] && whlist[0]=";chgrp wheel" |
|
whlist[{-$-}{#whlist[*]}]="$1" |
|
;; |
|
operator) |
|
[ {-$-}{#oplist[*]} = 0 ] && oplist[0]=";chgrp operator" |
|
oplist[{-$-}{#oplist[*]}]="$1" |
|
;; |
|
*) |
|
MKlist[{-$-}{#MKlist[*]}]=";chgrp $G $1"; |
esac |
esac |
[ "${grplist[$g]}" ] && { |
|
grplist[$g]="${grplist[$g]} {-$-}1" |
|
} || { |
|
groups="$groups $g" |
|
grplist[$g]="chgrp $G {-$-}1" |
|
} |
|
} |
} |
return 0 |
return 0 |
} |
} |
|
|
done |
done |
} |
} |
_recurse "$@" |
_recurse "$@" |
list="$RMlist" |
{ |
for mode in $modes; do |
echo -n ${RMlist[*]} |
list="$list;${mklist[$mode]}" |
echo -n ${mklist[*]} |
done |
echo -n ${MKlist[*]} |
for group in $groups; do |
echo -n ${whlist[*]} |
list="$list;${grplist[$group]}" |
echo ${oplist[*]} |
done |
} | if [ "$eo" = "echo" ]; then |
list="$list;$MKlist" |
cat |
if [ "$eo" = "echo" ]; then |
|
$eo "$list" |
|
else |
else |
echo "$list" | sh |
sh |
fi |
fi |
divert(3)dnl |
divert(3)dnl |
dnl |
dnl |