Added Some Tools. New Readme
This commit is contained in:
parent
f2a6d12423
commit
8355a6ffa3
|
@ -19,10 +19,16 @@ As bash scripts, you will have to manually edit /etc/bash.bashrc and
|
||||||
add - according to your needs - a load script line
|
add - according to your needs - a load script line
|
||||||
|
|
||||||
```
|
```
|
||||||
# Change Prompt with this one
|
# Getting Tools...
|
||||||
|
[[ -f /etc/profile.d/echolib/tools.sh ]] && . /etc/profile.d/echolib/tools.sh
|
||||||
|
# To Change Prompt with this one
|
||||||
[[ -f /etc/profile.d/echolib/prompt.sh ]] && . /etc/profile.d/echolib/prompt.sh
|
[[ -f /etc/profile.d/echolib/prompt.sh ]] && . /etc/profile.d/echolib/prompt.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
|
# How lo list tools ?
|
||||||
|
```
|
||||||
|
echolib
|
||||||
|
```
|
||||||
# ToDo ?
|
# ToDo ?
|
||||||
There will be a lot more to come soon. Maybe then, i will create a setup
|
There will be a lot more to come soon. Maybe then, i will create a setup
|
||||||
to help you install what you need.
|
to help you install what you need.
|
||||||
|
|
Binary file not shown.
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 31 KiB |
|
@ -0,0 +1,297 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# file: tools.sh
|
||||||
|
# Folder: /etc/profile.d/echolib/
|
||||||
|
# By echolib
|
||||||
|
# License: GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
# Main
|
||||||
|
#======================================================================
|
||||||
|
echolib() {
|
||||||
|
# Helps for echolib in function
|
||||||
|
echolib__help() {
|
||||||
|
clear
|
||||||
|
cat << EOHELP
|
||||||
|
# Tools in /etc/profile.d/echolib/tools.sh
|
||||||
|
# Commands available
|
||||||
|
|
||||||
|
$ cpul : Check CPU load, load average, and highest process
|
||||||
|
$ isadmin : Check $USER sudo rights
|
||||||
|
$ isco : Check if connected. See isco --help
|
||||||
|
$ dlup : Show Internal IP + DL/UP Speed
|
||||||
|
EOHELP
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
--help|-h|help|*)
|
||||||
|
echolib__help
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
# ---------------------------------
|
||||||
|
# Usefull Tools for echolib scripts
|
||||||
|
# ---------------------------------
|
||||||
|
#======================================================================
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
# Set Colors
|
||||||
|
#======================================================================
|
||||||
|
NC="\e[0m"
|
||||||
|
C_Blue="\e[34m"
|
||||||
|
C_Cyan="\e[36m"
|
||||||
|
C_Green="\e[32m"
|
||||||
|
C_Grey="\e[2m"
|
||||||
|
C_Pink="\e[35m"
|
||||||
|
C_Red="\e[31m"
|
||||||
|
C_White="\e[1m"
|
||||||
|
C_Yellow="\e[33m"
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
# Set Separators / Markers Colors
|
||||||
|
#======================================================================
|
||||||
|
I_Blue="\e[34m#\e[0m"
|
||||||
|
I_Cyan="\e[36m#\e[0m"
|
||||||
|
I_Green="\e[32m#\e[0m"
|
||||||
|
I_Grey="\e[2m#\e[0m"
|
||||||
|
I_Pink="\e[35m#\e[0m"
|
||||||
|
I_Red="\e[31m!\e[0m"
|
||||||
|
I_White="\e[1m#\e[0m"
|
||||||
|
I_Yellow="\e[33m#\e[0m"
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
# Set Other markers colors
|
||||||
|
#======================================================================
|
||||||
|
P_Grey="\e[2m%\e[0m"
|
||||||
|
Bo_Grey="\e[2m(\e[0m"
|
||||||
|
Bc_Grey="\e[2m)\e[0m"
|
||||||
|
Pp_Grey="\e[2m|\e[0m"
|
||||||
|
Dp_Grey="\e[2m:\e[0m"
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
# Set linuxè_pkg : Which System in use
|
||||||
|
#======================================================================
|
||||||
|
linux__pkg() {
|
||||||
|
[[ `command -v pacman` ]] \
|
||||||
|
&& linux_pkg="pacman" \
|
||||||
|
&& return
|
||||||
|
|
||||||
|
[[ `command -v apt-get` ]] \
|
||||||
|
&& linux_pkg="apt" \
|
||||||
|
&& return
|
||||||
|
}
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
# Set : Is user Root or Sudo
|
||||||
|
#======================================================================
|
||||||
|
isadmin() {
|
||||||
|
|
||||||
|
is__admin_show() {
|
||||||
|
echo -e "$isa_c $USER ${C_Grey}is$NC $user_admin"
|
||||||
|
}
|
||||||
|
|
||||||
|
if_admin=`id -u`
|
||||||
|
if (( $if_admin )) && (( $if_admin == 0 ));then
|
||||||
|
is_admin="${C_Red}root$NC"
|
||||||
|
user_admin=$is_admin
|
||||||
|
isa_c="$I_Red"
|
||||||
|
is__admin_show
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! [[ `command -v sudo` ]];then
|
||||||
|
is_admin="user"
|
||||||
|
user_admin="${C_Cyan}a simple user$NC"
|
||||||
|
isa_c="$I_Cyan"
|
||||||
|
is__admin_show
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
|
||||||
|
user_prompt=`sudo -nv 2>&1`
|
||||||
|
code_return="$?"
|
||||||
|
if (( $code_return == 1 ));then
|
||||||
|
is_admin="sudo-1"
|
||||||
|
user_admin="${C_Green}not in sudo mode$NC"
|
||||||
|
isa_c="$I_Green"
|
||||||
|
else
|
||||||
|
is_admin="sudo-0"
|
||||||
|
user_admin="${C_Yellow}in sudo mode$NC"
|
||||||
|
isa_c="$I_Yellow"
|
||||||
|
fi
|
||||||
|
is__admin_show
|
||||||
|
}
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
# Check CPU Load
|
||||||
|
#======================================================================
|
||||||
|
cpul() {
|
||||||
|
|
||||||
|
cpu__set_colors() {
|
||||||
|
if (( $1 <= 10 ));then
|
||||||
|
cpu_ic="$I_White"
|
||||||
|
cpu_sc="$C_White"
|
||||||
|
elif (( $1 > 10 && $1 <= 19 ));then
|
||||||
|
cpu_ic="$I_Cyan"
|
||||||
|
cpu_sc="$C_Cyan"
|
||||||
|
elif (( $1 >= 20 && $1 <= 39 ));then
|
||||||
|
cpu_ic="$I_Green"
|
||||||
|
cpu_sc="$C_Green"
|
||||||
|
elif (( $1 >= 40 && $1 <= 69 ));then
|
||||||
|
cpu_ic="$I_Yellow"
|
||||||
|
cpu_sc="$C_Yellow"
|
||||||
|
elif (( $1 >= 70 ));then
|
||||||
|
cpu_ic="$I_Red"
|
||||||
|
cpu_sc="$C_Red"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# CPU Usage
|
||||||
|
cpu_raw=`
|
||||||
|
grep 'cpu ' /proc/stat \
|
||||||
|
| awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage}'`
|
||||||
|
cpul=(${cpu_raw%.*})
|
||||||
|
cpu__set_colors $cpul
|
||||||
|
cpu_show="$cpu_ic CPU: ${cpu_sc}$cpul$NC$P_Grey $Pp_Grey "
|
||||||
|
|
||||||
|
# CPU Load Average
|
||||||
|
cpu_lav=(`awk '{print $1,$2,$3}' /proc/loadavg`)
|
||||||
|
cpu_la0=`awk -v l0="${cpu_lav[0]}" 'BEGIN{print l0 * 100}'`
|
||||||
|
cpu_la1=`awk -v l1="${cpu_lav[1]}" 'BEGIN{print l1 * 100}'`
|
||||||
|
cpu_la2=`awk -v l2="${cpu_lav[2]}" 'BEGIN{print l2 * 100}'`
|
||||||
|
|
||||||
|
cpu__set_colors $cpu_la0
|
||||||
|
cpul0="$cpu_sc$cpu_la0$NC"
|
||||||
|
cpu__set_colors $cpu_la1
|
||||||
|
cpul1="$cpu_sc$cpu_la1$NC"
|
||||||
|
cpu__set_colors $cpu_la2
|
||||||
|
cpul2="$cpu_sc$cpu_la2$NC"
|
||||||
|
cpu_show+="Load: $cpul0$P_Grey $cpul1$P_Grey $cpul2$P_Grey $Pp_Grey"
|
||||||
|
|
||||||
|
# CPU Higher App
|
||||||
|
cpu_app=(`
|
||||||
|
command ps aux --no-header \
|
||||||
|
| sort -k 3 \
|
||||||
|
| tail -1 \
|
||||||
|
| awk '{print $11,$3}'`)
|
||||||
|
cpu_app_raw=(${cpu_app[1]%.*})
|
||||||
|
cpu__set_colors $cpu_app_raw
|
||||||
|
cpu_app_c="$cpu_sc${cpu_app[1]}$NC$P_Grey"
|
||||||
|
|
||||||
|
# Show
|
||||||
|
echo -e "$cpu_show ${cpu_app[0]}$Dp_Grey $cpu_app_c"
|
||||||
|
|
||||||
|
# Can unset
|
||||||
|
unset ${!cpu_@}
|
||||||
|
}
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
# is Internet reachable
|
||||||
|
#======================================================================
|
||||||
|
isco() {
|
||||||
|
# Helps for echolib in function
|
||||||
|
isco__help() {
|
||||||
|
cat << EOHELP
|
||||||
|
--help : This help
|
||||||
|
ip : Show my external IP
|
||||||
|
net : Show if Internet is not reachable
|
||||||
|
EOHELP
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
ip)
|
||||||
|
dig +short myip.opendns.com @resolver1.opendns.com
|
||||||
|
;;
|
||||||
|
|
||||||
|
lip)
|
||||||
|
isco_device=`ip r | awk 'NR==2 {print $3}'`
|
||||||
|
isco_lip=`ip -4 address show dev ${isco_device} \
|
||||||
|
| grep "inet" \
|
||||||
|
| awk '{print $2}'`
|
||||||
|
isco_lip="${isco_lip//\/*/}"
|
||||||
|
;;
|
||||||
|
|
||||||
|
net)
|
||||||
|
isco_net=`timeout .3 getent ahosts debian.org &>/dev/null`
|
||||||
|
isco_return="$?"
|
||||||
|
|
||||||
|
if ! (( "$isco_return" == 0 ));then
|
||||||
|
isco_net=`timeout .3 getent ahosts archlinux.org &>/dev/null` \
|
||||||
|
isco_return="$?"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! (( $isco_return == 0 ));then
|
||||||
|
isco_c="$I_Red"
|
||||||
|
isco_s="Internet not reachable ?"
|
||||||
|
else
|
||||||
|
isco_c="$I_Green"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
--help|help|-h|*)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
#======================================================================
|
||||||
|
# Check Download / Upload speed
|
||||||
|
#======================================================================
|
||||||
|
dlup() {
|
||||||
|
|
||||||
|
isco__show() {
|
||||||
|
echo -e "$isco_c $isco_device $Bo_Grey$isco_lip$C_Grey) |$NC $isco_s"
|
||||||
|
unset ${!isco_@}
|
||||||
|
}
|
||||||
|
|
||||||
|
isco net &>/dev/null
|
||||||
|
isco lip
|
||||||
|
! (( $isco_return == 0 )) \
|
||||||
|
&& isco__show \
|
||||||
|
&& return
|
||||||
|
|
||||||
|
isco_s=`
|
||||||
|
awk '
|
||||||
|
{
|
||||||
|
if (l1)
|
||||||
|
{
|
||||||
|
dlspeed = int(($2-l1)/1024*2);
|
||||||
|
if (dlspeed > 1000)
|
||||||
|
{
|
||||||
|
dlspeed=((dlspeed/1000));
|
||||||
|
dlval="\033[0;02mMB/s";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if (dlspeed < 1)
|
||||||
|
dlval = "\033[0;02m..";
|
||||||
|
else
|
||||||
|
dlval = "\033[0;02mkB/s"
|
||||||
|
|
||||||
|
upspeed = int(($10-l2)/1024*2);
|
||||||
|
if (upspeed > 1000)
|
||||||
|
{
|
||||||
|
upspeed = ((upspeed/1000));
|
||||||
|
upval = "\033[0;02mMB/s";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
if (upspeed < 1)
|
||||||
|
upval = "\033[0;02m..";
|
||||||
|
else
|
||||||
|
upval = "\033[0;02mkB/s"
|
||||||
|
|
||||||
|
print "\033[0;02mD:\033[0;32m"\
|
||||||
|
dlspeed\
|
||||||
|
"\033[0;02"\
|
||||||
|
dlval,\
|
||||||
|
"U:\033[0;33m"\
|
||||||
|
upspeed\
|
||||||
|
upval\
|
||||||
|
"\033[0m"
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
l1=$2; l2=$10;
|
||||||
|
}
|
||||||
|
}' <(grep ${isco_device} /proc/net/dev) \
|
||||||
|
<(sleep .7;grep ${isco_device} /proc/net/dev)`
|
||||||
|
|
||||||
|
isco__show
|
||||||
|
}
|
Loading…
Reference in New Issue