Index: /trunk/locker/sbin/rpm-master.sh
===================================================================
--- /trunk/locker/sbin/rpm-master.sh	(revision 2822)
+++ /trunk/locker/sbin/rpm-master.sh	(revision 2823)
@@ -1,3 +1,4 @@
-#!/bin/sh
+#!/bin/bash
+set -eu -o pipefail
 
 export LC_ALL=C
@@ -8,29 +9,29 @@
 
 echo "Cleaning up environment..."
-rm -rf *.rpmlist *.diff rpmlist.master missing.rpms
+rm -rf ./*.rpmlist ./*.diff rpmlist.master missing.rpms
 
-servers=`finger @scripts-director.mit.edu | grep "\->" | grep EDU | awk '{print $2}' | cut -d: -f1 | sort | uniq`
+servers=$(finger @scripts-director.mit.edu | grep "\->" | grep EDU | awk '{print $2}' | cut -d: -f1 | sort | uniq)
 
 for server in $servers; do
     echo "Connecting to $server..."
-    { ssh $server /mit/scripts/sbin/rpmlist.sh 2>&1 >&3 | grep -Fxv 'If you have trouble logging in, see http://scripts.mit.edu/faq/41/.'; } 3>&1 >&2
+    { ssh "$USER@$server" /mit/scripts/sbin/rpmlist.sh 2>&1 >&3 | { grep -Fxv 'If you have trouble logging in, see http://scripts.mit.edu/faq/41/.' || [ $? -eq 1 ]; }; } 3>&1 >&2
 done
 
 echo "Creating master package list..."
-cat *.rpmlist | sort | uniq > rpmlist.master
+cat ./*.rpmlist | sort | uniq > rpmlist.master
 
 echo "Comparing scripts servers to overall rpm list..."
 touch missing.rpms
 for server in *.rpmlist; do
-    diff -U3 $server rpmlist.master > $server.diff
-    serverPretty=`basename $server .rpmlist`
+    diff -U3 "$server" rpmlist.master > "$server.diff" || :
+    serverPretty=$(basename "$server" .rpmlist)
     echo "Server $serverPretty is missing:" >> missing.rpms
-    grep "^+[^+]" $server.diff | cut -b 1 --complement >> missing.rpms
+    grep "^+[^+]" "$server.diff" | cut -b 1 --complement >> missing.rpms
     echo >> missing.rpms
 done
 
-if [ `egrep -c -v '(missing)|(^$)' missing.rpms` -gt 0 ]; then
+if egrep -qv '(missing)|(^$)' missing.rpms; then
     echo "Sending email..."
-    cat missing.rpms | mail -s "scripts.mit.edu servers are out of sync" root@scripts.mit.edu
+    mail -s "scripts.mit.edu servers are out of sync" root@scripts.mit.edu < missing.rpms
 else
     echo "No email needs to be sent! scripts.mit.edu is up to date."
Index: /trunk/locker/sbin/rpmlist.sh
===================================================================
--- /trunk/locker/sbin/rpmlist.sh	(revision 2822)
+++ /trunk/locker/sbin/rpmlist.sh	(revision 2823)
@@ -1,12 +1,13 @@
 #!/bin/sh
+set -eu
 
 export LC_ALL=C
 
 copyTo='/mit/scripts/cron_scripts/rpm-sync/'
-packages=`mktemp --tmpdir rpmlist.XXXXXX`
-rpm -qa --queryformat '%{NAME}.%{ARCH}\n' | sort | uniq > $packages
+packages=$(mktemp --tmpdir rpmlist.XXXXXX)
+rpm -qa --queryformat '%{NAME}.%{ARCH}\n' | sort | uniq > "$packages"
 
-host=`hostname`
+host=$(hostname)
 extension='.rpmlist'
 file="$copyTo/$host$extension"
-mv $packages $file
+mv "$packages" "$file"
