#/bin/bash #Copyright (c) [2019] Huawei Technologies Co., Ltd. #generic-release is licensed under the Mulan PSL v2. #You can use this software according to the terms and conditions of the Mulan PSL v2. #You may obtain a copy of Mulan PSL v2 at: # http://license.coscl.org.cn/MulanPSL2 #THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR #IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR #PURPOSE. #See the Mulan PSL v2 for more details. # Welcome welcome=$(uname -r) #function function get_mem_usage { differ=`expr $1 - $2 - $3 - $4 - $5` milli=`expr $differ \* 10000 / $1` percent=`expr $differ \* 1000 / $1` predominant=`expr $differ \* 100 / $1` round=`expr $milli % 10` if [[ ${round} -ge 5 ]];then mid=`expr $percent % 10` last=`expr $mid + 1` else last=`expr $percent % 10` fi echo "${predominant}.${last}%" } function get_swap_mem { swap_diff=`expr $1 - $2` swap_milli=`expr $swap_diff \* 10000 / $1` swap_percent=`expr $swap_diff \* 1000 / $1` swap_dominant=`expr $swap_diff \* 100 / $1` swap_round=`expr $swap_milli % 10` if [[ ${round} -ge 5 ]];then swap_mid=`expr $swap_percent % 10` swap_last=`expr $swap_mid + 1` else swap_last=`expr $swap_percent % 10` fi echo "${swap_dominant}.${swap_last}%" } # Memory memory_total=$(cat /proc/meminfo | awk '/^MemTotal:/ {printf($2)}') memory_free=$(cat /proc/meminfo | awk '/^MemFree:/ { printf($2)}') buffers=$(cat /proc/meminfo | awk '/^Buffers:/ { printf($2)}') cached=$(cat /proc/meminfo | awk '/^Cached:/ { printf($2)}') sreclaimable=$(cat /proc/meminfo | awk '/^SReclaimable:/ { printf($2)}') swap_total=$(cat /proc/meminfo | awk '/^SwapTotal:/ { printf($2)}') swap_free=$(cat /proc/meminfo | awk '/^SwapFree:/ { printf($2)}') if [[ $memory_total -gt 0 ]] then memory_usage=`get_mem_usage $memory_total $memory_free $buffers $cached $sreclaimable` else memory_usage=0.0% fi # Swap memory if [[ $swap_total -gt 0 ]] then swap_mem=`get_swap_mem $swap_total $swap_free` else swap_mem=0.0% fi # Usage usageof=$(df -h / | awk '/\// {print $(NF-1)}') # System load load_average=$(awk '{print $1}' /proc/loadavg) # WHO I AM whoiam=$(whoami) # Time time_cur=$(date) # Processes processes=$(ps aux | wc -l) # Users user_num=$(users | wc -w) # Ip address ip_pre="" if [ -x "/sbin/ip" ] then ip_pre=$(/sbin/ip a | grep inet | grep -v "127.0.0.1" | grep -v inet6 | awk '{print $2}') fi echo -e "\n" echo -e "Welcome to $welcome\n" echo -e "System information as of time: \t$time_cur\n" echo -e "System load: \t\033[0;33;40m$load_average\033[0m" echo -e "Processes: \t$processes" echo -e "Memory used: \t$memory_usage" echo -e "Swap used: \t$swap_mem" echo -e "Usage On: \t$usageof" for line in $ip_pre do ip_address=${line%/*} echo -e "IP address: \t$ip_address" done echo -e "Users online: \t$user_num" if [ "$whoiam" == "root" ] then echo -e "\n" else echo -e "To run a command as administrator(user \"root\"),use \"sudo \"." fi