21 lines
590 B
Bash
Executable file
21 lines
590 B
Bash
Executable file
#!/bin/bash
|
|
|
|
MAC=`/sbin/ifconfig eth0 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}' | tr '[A-Z]' '[a-z]'`
|
|
if grep -q $MAC HOSTS; then
|
|
HOSTNAME=`grep $MAC HOSTS | cut -d\| -f1`
|
|
if [ "$HOSTNAME" = "`hostname`" ]; then
|
|
echo 'hostname is already correct'
|
|
exit 1
|
|
fi
|
|
echo "setting hostname to $HOSTNAME"
|
|
echo "$HOSTNAME" > /tmp/HOSTNAME.$$
|
|
sudo rm -f /etc/hostname
|
|
sudo mv /tmp/HOSTNAME.$$ /etc/hostname
|
|
sudo chown root:root /etc/hostname
|
|
sudo chmod 644 /etc/hostname
|
|
sudo /etc/init.d/hostname.sh
|
|
exit 0
|
|
else
|
|
echo "cannot determine hostname"
|
|
exit 1
|
|
fi
|