![]() ![]() | ![]() |
while read loop works now!
1: #!/bin/bash 2: 3: VERSION="unarchivemany V0.2 (23.6.2006 ROC)" 4: 5: if [ -z "$1$2" ] 6: then 7: echo $VERSION 8: echo "use: $0 docdir dirlist" 9: echo " Unarchives the directories given in the file dirlist inside docdir." 10: exit 1 11: fi 12: 13: BASEDIR="$1" 14: DIRLIST="$2" 15: 16: if [ ! -d $BASEDIR ] 17: then 18: echo "ERROR: base directory $BASEDIR not found!" 19: exit 1 20: fi 21: 22: if [ ! -f $DIRLIST ] 23: then 24: echo "ERROR: directory list file $DIRLIST not found!" 25: exit 1 26: fi 27: 28: CNT=0 29: 30: # read directories from DIRLIST 31: while read DIR 32: do 33: CNT=$(( $CNT + 1 )) 34: if [ -d "$BASEDIR/$DIR" ] 35: then 36: echo "$CNT: unarchiving $DIR..." 37: if /usr/local/mpiwg/archive/unarchiver "$BASEDIR/$DIR" 38: then 39: echo " done on `date`" 40: else 41: echo "FAILED!" 42: # abort? 43: fi 44: else 45: echo "$CNT: ERROR: document directory $BASEDIR/$DIR not found!" 46: fi 47: done < $DIRLIST 48: 49: if [ $CNT = 0 ] 50: then 51: echo "$CNT ERROR: the list file $DIRLIST seems to be empty!" 52: fi