Skip to content

Instantly share code, notes, and snippets.

@ryu1
Created February 13, 2020 02:59
Show Gist options
  • Save ryu1/70cef98c533610f1bbdc45f6c521d793 to your computer and use it in GitHub Desktop.
Save ryu1/70cef98c533610f1bbdc45f6c521d793 to your computer and use it in GitHub Desktop.
Shell Script Changing Host Name.
#!/bin/bash
# ------------------------------------------------------------------
# [Author] Title
# Description
# ------------------------------------------------------------------
SUBJECT=some-unique-id
VERSION=0.1.0
USAGE="Usage: command -hv args"
# --- Option processing --------------------------------------------
while getopts ":vh" optname
do
case "$optname" in
"v")
echo "Version $VERSION"
exit 0;
;;
"h")
echo $USAGE
exit 0;
;;
"?")
echo "Unknown option $OPTARG"
exit 0;
;;
":")
echo "No argument value for option $OPTARG"
exit 0;
;;
*)
echo "Unknown error while processing options"
exit 0;
;;
esac
done
shift $(($OPTIND - 1))
param=$1
command="command"
# -----------------------------------------------------------------
LOCK_FILE=/tmp/${SUBJECT}.lock
if [ -f "$LOCK_FILE" ]; then
echo "Script is already running"
exit
fi
# -----------------------------------------------------------------
trap "rm -f $LOCK_FILE" EXIT
touch $LOCK_FILE
# -----------------------------------------------------------------
function command {
echo Current Local Host Name: `scutil --get LocalHostName`
echo Current Computer Name: `scutil --get ComputerName`
echo Current Host Name: `scutil --get HostName`
sudo scutil --set ComputerName $param
sudo scutil --set LocalHostName $param
echo Changed Local Host Name: `scutil --get LocalHostName`
echo Changed Computer Name: `scutil --get ComputerName`
echo Changed Host Name: `scutil --get HostName`
}
# -----------------------------------------------------------------
# -----------------------------------------------------------------
if [ -n "$(type -t ${command})" ] && [ "$(type -t ${command})" = function ]; then
${command}
else
echo "'${cmd}' is NOT a command";
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment