Initial commit
This commit is contained in:
parent
af59d8cbb1
commit
d5f1f7f8a0
|
@ -0,0 +1,58 @@
|
|||
#!/bin/sh
|
||||
|
||||
#!/bin/sh
|
||||
|
||||
# Define a function to get the first IPv4 address of a FreeBSD interface
|
||||
get_ipv4address_freebsd() {
|
||||
local interface="$1"
|
||||
|
||||
# Use ifconfig to get IPv4 addresses of the specified interface
|
||||
ipv4_addresses=$(ifconfig "$interface" | awk '/inet / {print $2}')
|
||||
|
||||
# Extract the first IPv4 address
|
||||
first_ipv4_address=""
|
||||
for addr in $ipv4_addresses; do
|
||||
first_ipv4_address="$addr"
|
||||
break # Exit after getting the first IPv4 address
|
||||
done
|
||||
|
||||
# Return the first IPv4 address
|
||||
echo -n "$first_ipv4_address"
|
||||
}
|
||||
|
||||
|
||||
get_ipv4address_linux() {
|
||||
|
||||
|
||||
# Set the interface name you want to query
|
||||
local interface="$1" # Replace with your desired interface
|
||||
|
||||
# Use ip command to get IPv4 addresses of the specified interface
|
||||
ipv4_addresses=$(ip -4 addr show dev "$interface" | grep -oP 'inet \K[\d.]+')
|
||||
|
||||
# Extract the first IPv4 address
|
||||
first_ipv4_address=""
|
||||
for addr in $ipv4_addresses; do
|
||||
first_ipv4_address="$addr"
|
||||
break # Exit after getting the first IPv4 address
|
||||
done
|
||||
|
||||
# Check if an address was found
|
||||
if [ -n "$first_ipv4_address" ]; then
|
||||
echo -n "$first_ipv4_address"
|
||||
else
|
||||
exit 1;
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
kernel_name=$(uname -s)
|
||||
interface="$1" # Replace with your desired interface
|
||||
|
||||
if [ "$kernel_name" = "FreeBSD" ]; then
|
||||
result=$(get_ipv4address_freebsd "$interface")
|
||||
else
|
||||
result=$(get_ipv4address_linux "$interface")
|
||||
fi
|
||||
|
||||
echo -n "$result"
|
Loading…
Reference in New Issue