david_williams | 5dc46da | 2008-01-13 06:39:38 +0000 | [diff] [blame] | 1 | #!/bin/bash |
david_williams | ac075f8 | 2008-01-13 04:05:08 +0000 | [diff] [blame] | 2 | |
david_williams | 5dc46da | 2008-01-13 06:39:38 +0000 | [diff] [blame] | 3 | # echo "arg: $1"; |
| 4 | |
| 5 | if [ -z $1 ] |
| 6 | then |
david_williams | ac075f8 | 2008-01-13 04:05:08 +0000 | [diff] [blame] | 7 | echo " This script requires an argument. " ; |
| 8 | exit 1; |
| 9 | fi |
| 10 | |
david_williams | 5dc46da | 2008-01-13 06:39:38 +0000 | [diff] [blame] | 11 | foundDirectory=$1 |
| 12 | # should already be in foundDirectory, if execDir used |
david_williams | ac075f8 | 2008-01-13 04:05:08 +0000 | [diff] [blame] | 13 | cd $foundDirectory |
david_williams | 312a06a | 2008-01-16 01:59:25 +0000 | [diff] [blame] | 14 | # move up one so we can examine syblings |
david_williams | ac075f8 | 2008-01-13 04:05:08 +0000 | [diff] [blame] | 15 | cd .. |
david_williams | 5dc46da | 2008-01-13 06:39:38 +0000 | [diff] [blame] | 16 | currentDirectory=`pwd` |
| 17 | echo $currentDirectory |
| 18 | ndirs=`ls -lA | wc -l` |
david_williams | 312a06a | 2008-01-16 01:59:25 +0000 | [diff] [blame] | 19 | ndirs=$(($ndirs - 1)); # don't count the "totals" line |
david_williams | 5dc46da | 2008-01-13 06:39:38 +0000 | [diff] [blame] | 20 | # echo "NDirs: $ndirs" |
david_williams | ac075f8 | 2008-01-13 04:05:08 +0000 | [diff] [blame] | 21 | |
david_williams | 5dc46da | 2008-01-13 06:39:38 +0000 | [diff] [blame] | 22 | # if only one left, do not remove it, no matter how old |
david_williams | 8a12172 | 2008-07-16 04:42:54 +0000 | [diff] [blame] | 23 | if [ $ndirs -eq 1 ] |
david_williams | 5dc46da | 2008-01-13 06:39:38 +0000 | [diff] [blame] | 24 | then |
| 25 | exit 0; |
| 26 | fi |
david_williams | 8a12172 | 2008-07-16 04:42:54 +0000 | [diff] [blame] | 27 | # This is unexpected, since otherwise this method should not have been called. |
| 28 | # So, this check is just a safety check. |
| 29 | if [ $ndirs -lt 1 ] |
| 30 | then |
| 31 | exit 101; |
| 32 | fi |
| 33 | |
david_williams | 5dc46da | 2008-01-13 06:39:38 +0000 | [diff] [blame] | 34 | # ok, it is old, and not the only one left |
david_williams | 8a12172 | 2008-07-16 04:42:54 +0000 | [diff] [blame] | 35 | # adding a few "should never happen" errror checks |
| 36 | if [ -d $foundDirectory ] |
| 37 | then |
david_williams | ede27aa | 2008-07-16 06:20:59 +0000 | [diff] [blame] | 38 | basedirname=$(basename $foundDirectory) |
| 39 | if [[ "$basedirname" =~ "[[:digit:]]{14}" ]] |
| 40 | then |
| 41 | echo "removing $basedirname" |
| 42 | rm -fr $foundDirectory |
| 43 | else |
david_williams | 9442c23 | 2008-09-03 00:54:35 +0000 | [diff] [blame] | 44 | # patches is expected, warn of others |
| 45 | if [ "patches" != $foundDirectory ] |
| 46 | then |
| 47 | echo "ERROR: The foundDirectory, $foundDirectory, didn't match timestamp pattern" |
| 48 | fi |
david_williams | ede27aa | 2008-07-16 06:20:59 +0000 | [diff] [blame] | 49 | fi |
david_williams | 8a12172 | 2008-07-16 04:42:54 +0000 | [diff] [blame] | 50 | else |
| 51 | echo "ERROR: the foundDirectory, $foundDirectory, is not a directory" |
| 52 | fi |