1st commit
Usage of: -system_profiler SPHardwareDataType -system_profiler SPSoftwareDataType -networksetup -listnetworkserviceorder
This commit is contained in:
60
readme.md
Normal file
60
readme.md
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
# update-motd
|
||||||
|
|
||||||
|
定期的に、macのシステム情報を/etc/motdへ反映します。
|
||||||
|
|
||||||
|
## sample
|
||||||
|
|
||||||
|
```txt
|
||||||
|
Last login: Fri Jan 1 00:00:00 on ttys001
|
||||||
|
|
||||||
|
__ ___ ____ __ ____ ___ ______
|
||||||
|
/ |/ /____ _ _____ / __ ) ____ ____ / /__ / __ \ _____ ____ < // ____/
|
||||||
|
/ /|_/ // __ `// ___// __ |/ __ \ / __ \ / //_// /_/ // ___// __ \ / //___ \
|
||||||
|
/ / / // /_/ // /__ / /_/ // /_/ // /_/ // ,< / ____// / / /_/ // /____/ /
|
||||||
|
/_/ /_/ \__,_/ \___//_____/ \____/ \____//_/|_|/_/ /_/ \____//_//_____/
|
||||||
|
|
||||||
|
Motd Updated : 2021/01/01 00:00:00
|
||||||
|
Hostname : MacBookPro15.local
|
||||||
|
Privte IP Address : 192.168.1.1
|
||||||
|
OS Info : ProductName: Mac OS X
|
||||||
|
ProductVersion: 10.15.7
|
||||||
|
BuildVersion: 19H114
|
||||||
|
Hardware Info : Model Identifier: MacBookPro15,2
|
||||||
|
Processor Name: Quad-Core Intel Core i7
|
||||||
|
Processor Speed: 2.7 GHz
|
||||||
|
Total Number of Cores: 4
|
||||||
|
Hyper-Threading Technology: Enabled
|
||||||
|
Memory: 16 GB
|
||||||
|
Activation Lock Status: Disabled
|
||||||
|
Disk Used/Total : 100G / 500G
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
## deps
|
||||||
|
|
||||||
|
- /etc/motd
|
||||||
|
|
||||||
|
```shell
|
||||||
|
sudo touch /etc/motd
|
||||||
|
sudo chmod 666 /etc/motd
|
||||||
|
```
|
||||||
|
|
||||||
|
- figlet
|
||||||
|
|
||||||
|
```shell
|
||||||
|
brew install figlet
|
||||||
|
```
|
||||||
|
|
||||||
|
## install
|
||||||
|
|
||||||
|
```shell
|
||||||
|
git clone https://github.com/suwa-sh/update-motd.git ${HOME}/src/github.com/suwa-sh/update-motd
|
||||||
|
cd ${HOME}/src/github.com/suwa-sh/update-motd
|
||||||
|
make
|
||||||
|
```
|
||||||
|
|
||||||
|
## uninstall
|
||||||
|
|
||||||
|
```shell
|
||||||
|
make uninstall
|
||||||
|
```
|
||||||
59
update-motd.sh
Executable file
59
update-motd.sh
Executable file
@@ -0,0 +1,59 @@
|
|||||||
|
#!/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
|
||||||
Reference in New Issue
Block a user