45 lines
789 B
Bash
45 lines
789 B
Bash
#!/bin/bash
|
|
#
|
|
# Library for network functions
|
|
|
|
# Functions
|
|
|
|
########################
|
|
# Resolve dns
|
|
# Arguments:
|
|
# $1 - Hostname to resolve
|
|
# Returns:
|
|
# IP
|
|
#########################
|
|
dns_lookup() {
|
|
local host="${1:?host is missing}"
|
|
getent ahosts "$host" | awk '/STREAM/ {print $1 }'
|
|
}
|
|
|
|
########################
|
|
# Get machine's IP
|
|
# Arguments:
|
|
# None
|
|
# Returns:
|
|
# Machine IP
|
|
#########################
|
|
get_machine_ip() {
|
|
dns_lookup "$(hostname)"
|
|
}
|
|
|
|
########################
|
|
# Check if the provided argument is a resolved hostname
|
|
# Arguments:
|
|
# $1 - Value to check
|
|
# Returns:
|
|
# Boolean
|
|
#########################
|
|
is_hostname_resolved() {
|
|
local -r host="${1:?missing value}"
|
|
if [[ -n "$(dns_lookup "$host")" ]]; then
|
|
true
|
|
else
|
|
false
|
|
fi
|
|
}
|