mkshelf.sh 610 B

1234567891011121314151617181920212223242526272829
  1. #! /bin/sh
  2. if test "$#" != "2"; then
  3. echo "Usage: sh `basename $0` {dir} {shelfaddress}" 1>&2
  4. echo " n_partitions=16 sh `basename $0` {dir} {shelfaddress}" 1>&2
  5. exit 1
  6. fi
  7. n_partitions=${n_partitions:-16}
  8. dir=$1
  9. shelf=$2
  10. nslots=16
  11. maxslot=`echo $nslots 1 - p | dc`
  12. MAJOR=152
  13. set -e
  14. minor=`echo $nslots \* $shelf \* $n_partitions | bc`
  15. endp=`echo $n_partitions - 1 | bc`
  16. for slot in `seq 0 $maxslot`; do
  17. for part in `seq 0 $endp`; do
  18. name=e$shelf.$slot
  19. test "$part" != "0" && name=${name}p$part
  20. rm -f $dir/$name
  21. mknod -m 0660 $dir/$name b $MAJOR $minor
  22. minor=`expr $minor + 1`
  23. done
  24. done