#!/bin/bash # # test.block - run udev(8) on each block device in /sys/block if [ $# = "0" ] ; then echo echo "usage: $0 " echo "where is \"add\" or \"remove\"" echo exit 1 fi killall udevd SYSFSDIR=/sys # change this for a nonstand sysfs mount point BIN=./udevsend # location of your udev binary export ACTION=$1 # 'add' or 'remove' seq=1 for i in ${SYSFSDIR}/block/*; do # add each drive export DEVPATH=${i#${SYSFSDIR}} export SEQNUM=$seq $BIN block x=$((seq++)) # add each partition, on each device for j in $i/*; do if [ -f $j/dev ]; then export DEVPATH=${j#${SYSFSDIR}} export SEQNUM=$seq $BIN block x=$((seq++)) fi done done