#!/bin/bash PATH="${PATH}:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" COLOR_LIGHT_GREEN='\033[0;32m' COLOR_LIGHT_BLUE='\033[0;34m' COLOR_YELLOW='\033[0;33m' COLOR_RED='\033[0;31m' COLOR_WHITE='\033[0;37m' software_vers=$(sw_vers) osname=$(echo "$software_vers" | grep 'ProductName' | awk -F":" '{print $2}' | xargs) version=$(echo "$software_vers" | grep 'ProductVersion' | awk -F":" '{print $2}' | xargs) build=$(echo "$software_vers" | grep 'BuildVersion' | awk -F":" '{print $2}' | xargs) hardware=$(system_profiler SPHardwareDataType) name=$(echo "$hardware" | grep 'Model Name' | awk -F":" '{print $2}' | xargs) identifier=$(echo "$hardware" | grep 'Model Identifier' | awk -F":" '{print $2}' | xargs) number=$(echo "$hardware" | grep 'Model Number' | awk -F":" '{print $2}' | xargs) chip=$(echo "$hardware" | grep 'Chip' | awk -F":" '{print $2}' | xargs) cores=$(echo "$hardware" | grep 'Cores' | awk -F":" '{print $2}' | xargs) memory=$(echo "$hardware" | grep 'Memory' | awk -F":" '{print $2}' | xargs) nb_cores="$(echo "$cores" | awk -F" " '{print $1}') cores" type_cores=$(echo "$cores" | cut -f2- -d' ') core="$nb_cores ""$type_cores" diskSize=$(diskutil info /dev/disk3s1 | grep Total | awk '{ print int($4) }') diskFree=$(diskutil info /dev/disk3s1 | grep Free | awk '{ print int($4) }') diskUsage=$((${diskSize} - ${diskFree})) profiler=$(system_profiler SPSoftwareDataType | tail -n10 | cut -c 5- ) _sip=$(echo "$profiler" | grep 'System Integrity' | awk -F":" '{print $2}' | xargs) _sv_mem=$(echo "$profiler" | grep 'Virtual Memory' | awk -F":" '{print $2}' | xargs) _uptime=$(echo "$profiler" | grep 'Time since' | awk -F":" '{print $2}' | xargs) external_ip=$(dig @resolver1.opendns.com ANY myip.opendns.com +short -4) interface=$(route -n get 0.0.0.0 2>/dev/null | awk '/interface: / {print $2}') list_network=$(networksetup -listnetworkserviceorder | grep -E '^\(Hardware Port' | cut -f3- -d' ' | sed 's/,\ Device:\ /:/g' | sed 's/.$//') networkservice=$(echo "$list_network" | grep "$interface" | awk -F":" '{print $1}') local_ip=$(ifconfig | grep "inet " | grep -Fv 127.0.0.1 | awk '{print $2}') echo -e " ${COLOR_LIGHT_GREEN}$(figlet -ckw 100 -f slant $(hostname | sed -e 's/.local//')) ${COLOR_WHITE}Hostname : ${COLOR_LIGHT_BLUE}$(hostname) ${COLOR_WHITE}Private IP Address : ${COLOR_LIGHT_BLUE}$(ifconfig en0 2>/dev/null | grep 'inet ' | cut -d ' ' -f 2) ${COLOR_WHITE}Current interface : ${COLOR_LIGHT_BLUE}${networkservice} (${interface}) ${COLOR_WHITE}Local IP : ${COLOR_LIGHT_BLUE}${local_ip} ${COLOR_WHITE}External IP : ${COLOR_LIGHT_BLUE}${external_ip} ${COLOR_WHITE}OS Info : ${COLOR_LIGHT_BLUE}${osname} ${version} (${build}) ${COLOR_WHITE}Model (Number) : ${COLOR_LIGHT_BLUE}${identifier} (${number}) ${COLOR_WHITE}CPU : ${COLOR_LIGHT_BLUE}${chip} (${core}) ${COLOR_WHITE}Memory : ${COLOR_LIGHT_BLUE}${memory} ${COLOR_WHITE}Disk Used/Total : ${COLOR_LIGHT_BLUE}${diskUsage}Go / ${diskSize}Go ${COLOR_WHITE}Secure Virtual Memory : ${COLOR_LIGHT_BLUE}${_sv_mem} ${COLOR_WHITE}SIP : ${COLOR_LIGHT_BLUE}${_sip} ${COLOR_WHITE}Uptime : ${COLOR_LIGHT_BLUE}${_uptime}" | lolcat #${COLOR_WHITE}" > /etc/motd