first update
This commit is contained in:
		
						commit
						b87984ccce
					
				
							
								
								
									
										0
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
								
								
									
										10
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | |||||||
|  | # My Shell Utilities | ||||||
|  | 
 | ||||||
|  | Various shell scripts that do various things.  | ||||||
|  | 
 | ||||||
|  | ## Categories | ||||||
|  | 
 | ||||||
|  | - sys: all the shell scripts related to system monitoring and manipulation | ||||||
|  | - app: convenience scripts that make it easier to use applications | ||||||
|  | - scripting: tools to improve scripting or serve as a reference | ||||||
|  | 
 | ||||||
							
								
								
									
										13
									
								
								app/apps
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								app/apps
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,13 @@ | |||||||
|  | #!/usr/bin/env zsh | ||||||
|  | set -eo pipefail | ||||||
|  | 
 | ||||||
|  | _stopnow() { | ||||||
|  |   test -f stopnow && echo "Stopping!" && rm stopnow && exit 0 || return 0 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | while true | ||||||
|  | do | ||||||
|  |     _stopnow | ||||||
|  |     menu | ||||||
|  | done | ||||||
|  | 
 | ||||||
							
								
								
									
										12
									
								
								app/contacts
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										12
									
								
								app/contacts
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,12 @@ | |||||||
|  | #!/usr/bin/env zsh | ||||||
|  | 
 | ||||||
|  | addressbook="/home/gmgauthier/.local/share/addrbook/contacts.txt" | ||||||
|  | 
 | ||||||
|  | ## Simple record retrieval by any known value | ||||||
|  | #awk 'BEGIN { RS = "<->" }  /'$*'/' $addressbook | ||||||
|  | 
 | ||||||
|  | ## Get record by search for substring in email | ||||||
|  | #awk 'BEGIN { RS = "<->"; FS = "email: " } ($2 ~ "'${*}'") { print $0 }' $addressbook | ||||||
|  | 
 | ||||||
|  | ## Get email addresses in a specific contact class | ||||||
|  | awk 'BEGIN { RS = "<->"; FS = "category: " } ($2 ~ "'${1}'") { print }' $addressbook | grep '^email:' | egrep -o '[^ ]+$' | ||||||
							
								
								
									
										18
									
								
								app/def
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										18
									
								
								app/def
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,18 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  | 
 | ||||||
|  | dict -h localhost -d gcide "$@" > /home/gmgauthier/.local/tmp/"${1}".txt 2>&1 | ||||||
|  | 
 | ||||||
|  | content=$(cat /home/gmgauthier/.local/tmp/"${1}".txt); | ||||||
|  | 
 | ||||||
|  | if [[ "${content}" == *"No definitions found"* ]]; then | ||||||
|  |     icon="/home/gmgauthier/.local/bin/img/caution-48.png" | ||||||
|  | else | ||||||
|  |     icon="/home/gmgauthier/.local/bin/img/checkmark-32.png" | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | zenity --text-info \ | ||||||
|  |     --window-icon="${icon}" \ | ||||||
|  |     --filename=/home/gmgauthier/.local/tmp/"${1}".txt \ | ||||||
|  |     --font="IBM Plex Mono Medium 11" \ | ||||||
|  |     --width=750 \ | ||||||
|  |     --height=600 2> /dev/null | ||||||
							
								
								
									
										8
									
								
								app/forecast
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								app/forecast
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,8 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  | if ! [[ -n $1 ]]; then | ||||||
|  |     loc="Cowley,UK" | ||||||
|  | else | ||||||
|  |     loc=$1 | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | curl wttr.in/$loc?u | ||||||
							
								
								
									
										112
									
								
								app/menu
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										112
									
								
								app/menu
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,112 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  | 
 | ||||||
|  | # while-menu-dialog: a menu driven system information program | ||||||
|  | export ME="/home/gmgauthier" | ||||||
|  | 
 | ||||||
|  | DIALOG_CANCEL=1 | ||||||
|  | DIALOG_ESC=255 | ||||||
|  | HEIGHT=17 | ||||||
|  | WIDTH=0 | ||||||
|  | 
 | ||||||
|  | tmemo() { | ||||||
|  |     tmp=$(date +"memo-%Y.%m.%d-%k.%M.%S") | ||||||
|  |     timestamp="${tmp// /}" | ||||||
|  |     filename="$HOME/memos/${timestamp}.md" | ||||||
|  |     exec tilde $filename | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | output_panel() { | ||||||
|  |   dialog --title "$1" \ | ||||||
|  |     --no-collapse \ | ||||||
|  |     --msgbox "$result" 0 0 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | _stopnow() { | ||||||
|  |   test -f stopnow && echo "Stopping!" && rm stopnow && exit 0 || return 0 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | menu() { | ||||||
|  |     exec 3>&1 | ||||||
|  |     selection=$(dialog \ | ||||||
|  |      --backtitle "TUI Command Center" \ | ||||||
|  |      --title "Menu" \ | ||||||
|  |      --clear \ | ||||||
|  |      --cancel-label "Exit" \ | ||||||
|  |      --menu "Please select:" $HEIGHT $WIDTH 4 \ | ||||||
|  |             "1" "Mutt Email" \ | ||||||
|  |             "2" "Calcurse Calendar" \ | ||||||
|  |             "3" "Abook Contacts" \ | ||||||
|  |             "4" "Tudu Tasks" \ | ||||||
|  |             "5" "Tilde Notepad" \ | ||||||
|  |             "6" "CLI Calculator" \ | ||||||
|  |             "7" "MC File Manager" \ | ||||||
|  |             "8" "IRC Client" \ | ||||||
|  |             "9" "Castero Podcasts" \ | ||||||
|  |             "0" "VLC Music Player" \ | ||||||
|  |         2>&1 1>&3) | ||||||
|  |     exit_status=$? | ||||||
|  |     exec 3>&- | ||||||
|  |          | ||||||
|  |     case $exit_status in | ||||||
|  |     $DIALOG_CANCEL) | ||||||
|  |         clear | ||||||
|  |         echo "Exiting Apps Menu." | ||||||
|  |         exit 1 | ||||||
|  |         ;; | ||||||
|  |     $DIALOG_ESC) | ||||||
|  |         clear | ||||||
|  |         echo "Terminating Apps Menu." >&2 | ||||||
|  |         exit 1 | ||||||
|  |         ;; | ||||||
|  |     esac | ||||||
|  |   | ||||||
|  |     clear | ||||||
|  |   | ||||||
|  |     case $selection in | ||||||
|  |     1 ) | ||||||
|  |         clear   | ||||||
|  |         exec neomutt -F ${ME}/.config/mutt/.protonmuttrc  | ||||||
|  |         ;; | ||||||
|  |     2 ) | ||||||
|  |         clear   | ||||||
|  |         exec calcurse -c ${ME}/.local/share/calcurse/calendar -C ${ME}/.config/calcurse | ||||||
|  |         ;; | ||||||
|  |     3 ) | ||||||
|  |         clear   | ||||||
|  |         exec  abook --datafile ${ME}/.local/share/abook/addressbook	 | ||||||
|  |         ;; | ||||||
|  |     4 ) | ||||||
|  |         clear | ||||||
|  |         exec tudu -f ${ME}/.local/share/tudu/tasks.xml -c ${ME}/.config/tudu/config | ||||||
|  |         ;; | ||||||
|  |     5 ) | ||||||
|  |         clear | ||||||
|  |         tmemo | ||||||
|  |         ;; | ||||||
|  |     6 ) | ||||||
|  |         clear | ||||||
|  |         exec calc | ||||||
|  |         ;; | ||||||
|  |     7 ) | ||||||
|  |         clear | ||||||
|  |         exec mc | ||||||
|  |         ;; | ||||||
|  |     8 ) | ||||||
|  |         clear | ||||||
|  |         exec weechat | ||||||
|  |         ;; | ||||||
|  |     9 ) | ||||||
|  |         clear | ||||||
|  |         exec castero | ||||||
|  |         ;; | ||||||
|  |     0 ) | ||||||
|  |         clear | ||||||
|  |         exec vlc -Z -L -I ncurses --no-video --recursive expand ${ME}/Music | ||||||
|  |         ;; | ||||||
|  |     esac | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | while true; do | ||||||
|  |     _stopnow | ||||||
|  |     menu | ||||||
|  | done | ||||||
							
								
								
									
										43
									
								
								app/spchk
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										43
									
								
								app/spchk
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,43 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  | 
 | ||||||
|  | function parseResults() { | ||||||
|  |     oIFS=$IFS | ||||||
|  |     IFS=":" | ||||||
|  |     declare -a fields=($1) | ||||||
|  | 
 | ||||||
|  |     export QUERYTERM=$(echo "${fields[0]}"|awk '{print $1}'); | ||||||
|  |     export LISTCOUNT=$(echo "${fields[0]}"|awk '{print $2}'); | ||||||
|  |     export WORDLIST=$(echo "${fields[1]}"|sed 's/^\s*\|\s*$//g'); | ||||||
|  | 
 | ||||||
|  |     IFS=$oIFS | ||||||
|  |     unset oIFS | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | if [ $# -eq 0 ]; then | ||||||
|  |     >&2 echo "No arguments provided" | ||||||
|  |     exit 1 | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if [[ "$1" =~ ^[0-9]+$ ]]; then | ||||||
|  |     zenity --info --text="<b>ERROR</b> only words, please!"\ | ||||||
|  |         --icon-name=error \ | ||||||
|  |         --window-icon="/home/gmgauthier/.local/bin/img/xmark.png" 2> /dev/null | ||||||
|  |     exit 1; | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | export RESULT=$(echo "$@"|aspell -a|sed "1 d"); # Deletes the header line | ||||||
|  | export FIXED="${RESULT/& }" # Removes ampersand causing parsing errors. | ||||||
|  | 
 | ||||||
|  | if [[ "${FIXED}" == *"*"* ]]; then | ||||||
|  |     zenity --info --text="<b>CORRECT!</b> " \ | ||||||
|  |         --icon-name=info \ | ||||||
|  |         --window-icon="/home/gmgauthier/.local/bin/img/check-mark-11-16.png" 2> /dev/null | ||||||
|  | 
 | ||||||
|  | else | ||||||
|  |     parseResults "${FIXED}" | ||||||
|  |     message="<b>There are ${LISTCOUNT} suggested corrections for '${QUERYTERM}':</b> ${WORDLIST}"  | ||||||
|  |     zenity --info --text="${message}"\ | ||||||
|  |         --icon-name=warning \ | ||||||
|  |         --window-icon="/home/gmgauthier/.local/bin/img/caution-48.png" 2> /dev/null | ||||||
|  | 
 | ||||||
|  | fi | ||||||
							
								
								
									
										8
									
								
								app/wx
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								app/wx
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,8 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  | if ! [[ -n $1 ]]; then | ||||||
|  |     loc="Cowley,UK" | ||||||
|  | else | ||||||
|  |     loc=$1 | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | ansiweather -l $loc -u imperial -s true -i false | ||||||
							
								
								
									
										39
									
								
								app/yootoob
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										39
									
								
								app/yootoob
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,39 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  | 
 | ||||||
|  | $cecho = '/gmgauthier/.local/bin/cecho'; | ||||||
|  | 
 | ||||||
|  | function border () { | ||||||
|  |     local str="$*"      # Put all arguments into single string | ||||||
|  |     local len=${#str} | ||||||
|  |     local i | ||||||
|  |     for ((i = 0; i < len + 4; ++i)); do | ||||||
|  |         printf '-' | ||||||
|  |     done | ||||||
|  |     printf '\n| %s |\n' "$str" | ||||||
|  |     for ((i = 0; i < len + 4; ++i)); do | ||||||
|  |         printf '-' | ||||||
|  |     done | ||||||
|  |     echo | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | clear | ||||||
|  | border "Internet Video Console" | ||||||
|  | echo | ||||||
|  | read -p "Search For: " searchphrase | ||||||
|  | 
 | ||||||
|  | ytfzf --detach --notify-playing --ytdl-pref="[height <=? 720]" --sort-by="upload_date" --pages=3 "${searchphrase}"  | ||||||
|  | 
 | ||||||
|  | if [[ $? -ne 0 ]]; then | ||||||
|  |     /home/gmgauthier/.local/bin/cecho "IYellow" "There are no results for '${searchphrase}'"; | ||||||
|  |     read -p "Press any key to exit... " -n1 -s | ||||||
|  | else | ||||||
|  |     # needed because immediate exit was destroying the handshake between alacritty and ytfzf | ||||||
|  |     /home/gmgauthier/.local/bin/cecho "Green" "Your video will play momentarily..." | ||||||
|  |     sleep 4 | ||||||
|  |     #This only works if the query window is the only open terminal | ||||||
|  |     #xdotool search --onlyvisible --classname alacritty windowminimize | ||||||
|  |     #sleep 5 | ||||||
|  |     #this only works if mpv doesn't become the active window | ||||||
|  |     #xdotool windowminimize getactivewindow | ||||||
|  | fi | ||||||
|  | exit 0 | ||||||
							
								
								
									
										89
									
								
								scripting/cecho
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										89
									
								
								scripting/cecho
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,89 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  | 
 | ||||||
|  | function cecho(){ | ||||||
|  |     # Reset | ||||||
|  |     Color_Off='\033[0m'       # Text Reset | ||||||
|  | 
 | ||||||
|  |     # Regular Colors | ||||||
|  |     Black='\033[0;30m'        # Black | ||||||
|  |     Red='\033[0;31m'          # Red | ||||||
|  |     Green='\033[0;32m'        # Green | ||||||
|  |     Yellow='\033[0;33m'       # Yellow | ||||||
|  |     Blue='\033[0;34m'         # Blue | ||||||
|  |     Purple='\033[0;35m'       # Purple | ||||||
|  |     Cyan='\033[0;36m'         # Cyan | ||||||
|  |     White='\033[0;37m'        # White | ||||||
|  | 
 | ||||||
|  |     # Bold | ||||||
|  |     BBlack='\033[1;30m'       # Black | ||||||
|  |     BRed='\033[1;31m'         # Red | ||||||
|  |     BGreen='\033[1;32m'       # Green | ||||||
|  |     BYellow='\033[1;33m'      # Yellow | ||||||
|  |     BBlue='\033[1;34m'        # Blue | ||||||
|  |     BPurple='\033[1;35m'      # Purple | ||||||
|  |     BCyan='\033[1;36m'        # Cyan | ||||||
|  |     BWhite='\033[1;37m'       # White | ||||||
|  | 
 | ||||||
|  |     # Underline | ||||||
|  |     UBlack='\033[4;30m'       # Black | ||||||
|  |     URed='\033[4;31m'         # Red | ||||||
|  |     UGreen='\033[4;32m'       # Green | ||||||
|  |     UYellow='\033[4;33m'      # Yellow | ||||||
|  |     UBlue='\033[4;34m'        # Blue | ||||||
|  |     UPurple='\033[4;35m'      # Purple | ||||||
|  |     UCyan='\033[4;36m'        # Cyan | ||||||
|  |     UWhite='\033[4;37m'       # White | ||||||
|  | 
 | ||||||
|  |     # Background | ||||||
|  |     On_Black='\033[40m'       # Black | ||||||
|  |     On_Red='\033[41m'         # Red | ||||||
|  |     On_Green='\033[42m'       # Green | ||||||
|  |     On_Yellow='\033[43m'      # Yellow | ||||||
|  |     On_Blue='\033[44m'        # Blue | ||||||
|  |     On_Purple='\033[45m'      # Purple | ||||||
|  |     On_Cyan='\033[46m'        # Cyan | ||||||
|  |     On_White='\033[47m'       # White | ||||||
|  | 
 | ||||||
|  |     # High Intensity | ||||||
|  |     IBlack='\033[0;90m'       # Black | ||||||
|  |     IRed='\033[0;91m'         # Red | ||||||
|  |     IGreen='\033[0;92m'       # Green | ||||||
|  |     IYellow='\033[0;93m'      # Yellow | ||||||
|  |     IBlue='\033[0;94m'        # Blue | ||||||
|  |     IPurple='\033[0;95m'      # Purple | ||||||
|  |     ICyan='\033[0;96m'        # Cyan | ||||||
|  |     IWhite='\033[0;97m'       # White | ||||||
|  | 
 | ||||||
|  |     # Bold High Intensity | ||||||
|  |     BIBlack='\033[1;90m'      # Black | ||||||
|  |     BIRed='\033[1;91m'        # Red | ||||||
|  |     BIGreen='\033[1;92m'      # Green | ||||||
|  |     BIYellow='\033[1;93m'     # Yellow | ||||||
|  |     BIBlue='\033[1;94m'       # Blue | ||||||
|  |     BIPurple='\033[1;95m'     # Purple | ||||||
|  |     BICyan='\033[1;96m'       # Cyan | ||||||
|  |     BIWhite='\033[1;97m'      # White | ||||||
|  | 
 | ||||||
|  |     # High Intensity backgrounds | ||||||
|  |     On_IBlack='\033[0;100m'   # Black | ||||||
|  |     On_IRed='\033[0;101m'     # Red | ||||||
|  |     On_IGreen='\033[0;102m'   # Green | ||||||
|  |     On_IYellow='\033[0;103m'  # Yellow | ||||||
|  |     On_IBlue='\033[0;104m'    # Blue | ||||||
|  |     On_IPurple='\033[0;105m'  # Purple | ||||||
|  |     On_ICyan='\033[0;106m'    # Cyan | ||||||
|  |     On_IWhite='\033[0;107m'   # White | ||||||
|  | 
 | ||||||
|  |     RED="\033[0;31m" | ||||||
|  |     GREEN="\033[0;32m"  # <-- [0 means not bold | ||||||
|  |     YELLOW="\033[1;33m" # <-- [1 means bold | ||||||
|  |     CYAN="\033[1;36m" | ||||||
|  |     # ... Add more colors if you like | ||||||
|  | 
 | ||||||
|  |     NC="\033[0m" # No Color | ||||||
|  | 
 | ||||||
|  |     # printf "${(P)1}${2} ${NC}\n" # <-- zsh | ||||||
|  |     printf "${!1}${2} ${NC}\n" # <-- bash | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | cecho "$@" | ||||||
							
								
								
									
										4
									
								
								scripting/mvsprt
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								scripting/mvsprt
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,4 @@ | |||||||
|  | #!/usr/bin/env zsh | ||||||
|  | 
 | ||||||
|  | #lpr -p -o media=11x17 -o orientation-requested=5 "$@" | ||||||
|  | lpr -p -o media=17x11 "$@" | ||||||
							
								
								
									
										
											BIN
										
									
								
								scripting/passwdgen
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								scripting/passwdgen
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										5
									
								
								sys/birthdate
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								sys/birthdate
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | #!/bin/sh  | ||||||
|  | 
 | ||||||
|  | statout=$(stat -c %W --terse /) | ||||||
|  | birthdate=$(date --date="@$statout") | ||||||
|  | echo $birthdate | ||||||
							
								
								
									
										3
									
								
								sys/checkit
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								sys/checkit
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,3 @@ | |||||||
|  | #!/usr/bin/env zsh | ||||||
|  | 
 | ||||||
|  | vale --config=/home/gmgauthier/.config/vale/.vale.ini --no-wrap "$@" | ||||||
							
								
								
									
										3
									
								
								sys/dirsz
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								sys/dirsz
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,3 @@ | |||||||
|  | #!/usr/bin/env zsh  | ||||||
|  | 
 | ||||||
|  | du -mhac "$@" --exclude .git|sort -h | ||||||
							
								
								
									
										10
									
								
								sys/ifcheck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								sys/ifcheck
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,10 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  | 
 | ||||||
|  | iface=$(ip -br -4 -iec -o -c address show dev wlp0s20f3) | ||||||
|  | if=$(echo $iface|awk '{print $1}') | ||||||
|  | ifstatus=$(echo $iface|awk '{print $2}') | ||||||
|  | ifaddr=$(echo $iface|awk '{print $3}') | ||||||
|  | 
 | ||||||
|  | echo $if $ifstatus $ifaddr | ||||||
|  | 
 | ||||||
|  | exit | ||||||
							
								
								
									
										11
									
								
								sys/netcheck
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										11
									
								
								sys/netcheck
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,11 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  | 
 | ||||||
|  | nchk=$(/home/gmgauthier/.local/bin/ifcheck) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | ping -q -n -c1 "1.1.1.1" &>"/dev/null" | ||||||
|  | if [[ "${?}" -ne 0 ]]; then | ||||||
|  |     /home/gmgauthier/.local/bin/cecho "BRed" "UNAVAILABLE" | ||||||
|  | elif [[ "${#args[@]}" -eq 0 ]]; then | ||||||
|  |     /home/gmgauthier/.local/bin/cecho "IGreen" "AVAILABLE" | ||||||
|  | fi | ||||||
							
								
								
									
										28
									
								
								sys/status
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										28
									
								
								sys/status
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,28 @@ | |||||||
|  | #!/usr/bin/env bash | ||||||
|  | numlines=$(tput lines) | ||||||
|  | numcols=$(tput cols) | ||||||
|  | numcols=$(expr $numcols - 1) | ||||||
|  | separator_line=$(for i in $(seq 0 $numcols);do printf "%s"═"";done;printf "\n") | ||||||
|  | /usr/bin/clear | ||||||
|  | tput cup 0 | ||||||
|  | 
 | ||||||
|  | status=$(/home/gmgauthier/.local/bin/ifcheck) | ||||||
|  | if=$(echo $status|awk '{print $1}') | ||||||
|  | ifstatus=$(echo $status|awk '{print $2}') | ||||||
|  | ifaddr=$(echo $status|awk '{print $3}') | ||||||
|  | 
 | ||||||
|  | if [[ "${status}" == *"UP"* ]]; then | ||||||
|  |     echo -e "   $(/home/gmgauthier/.local/bin/wx)" | ||||||
|  |     echo -e "$(/home/gmgauthier/.local/bin/cecho ICyan Wifi:) ${ifstatus}\t\t $(/home/gmgauthier/.local/bin/cecho ICyan Inet:) $(/home/gmgauthier/.local/bin/netcheck)\t\t\t\t\t         $(date +%R)" | ||||||
|  | else | ||||||
|  |     iface=$(ip -br -o -c address show dev wlp0s20f3) | ||||||
|  |     ifstatus=$(echo $iface|awk '{print $2}') | ||||||
|  |     ifaddr=$(echo $iface|awk '{print $3}') | ||||||
|  |     echo -e "$(/home/gmgauthier/.local/bin/cecho ICyan Wifi:) ${ifstatus} ${ifaddr}  $(/home/gmgauthier/.local/bin/cecho ICyan Inet:) $(/home/gmgauthier/.local/bin/netcheck)      $(date +%R)" | ||||||
|  | fi | ||||||
|  | echo $separator_line | ||||||
|  | mpstat | ||||||
|  | echo $separator_line | ||||||
|  | dfrs | ||||||
|  | echo $separator_line | ||||||
|  | acpi | ||||||
							
								
								
									
										54
									
								
								sys/usedisk
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										54
									
								
								sys/usedisk
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,54 @@ | |||||||
|  | #/usr/bin/env bash | ||||||
|  | 
 | ||||||
|  | MEDIADIR="/media/gmgauthier" | ||||||
|  | format=0 # Don't format disk images that already exist | ||||||
|  | 
 | ||||||
|  | # get name of freshly created blank disk, or create one | ||||||
|  | if [ $# -eq 0 ]; then | ||||||
|  |     echo ">>> NEW DISK IS BEING CREATED..." | ||||||
|  |     PREFIX="floppy" | ||||||
|  |     RANDO=$(od -An -N4 -i < /dev/urandom|sed 's/[ -]//g') | ||||||
|  |     DISK="$PREFIX$RANDO" | ||||||
|  |     dd if=/dev/zero of=$DISK.img bs=1k count=1440 | ||||||
|  |     format=1 | ||||||
|  | else | ||||||
|  |     DISK=$1 | ||||||
|  |     if ! [ -f $DISK.img ]; then | ||||||
|  |         dd if=/dev/zero of=$DISK.img bs=1k count=1440 | ||||||
|  |         format=1 | ||||||
|  |     fi | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | # Find the next available loop device on the system | ||||||
|  | echo ">>> LOOP DEVICE IS BEING IDENTIFIED..." | ||||||
|  | list=$(losetup -O name|sed 's/\/dev\/loop//g'|sed 's/NAME//g'|sort - --sort=human-numeric) | ||||||
|  | ### listarr=(${(@s: :)list}) # zsh version of the array generator | ||||||
|  | listarr=($(echo $list | tr " " "\n")) #bash version of array generator | ||||||
|  | lastdev=${listarr[-1]} | ||||||
|  | lastdevnum=$((lastdev)) | ||||||
|  | nextdev=$((lastdevnum+1)) | ||||||
|  | 
 | ||||||
|  | # allocate the next available loop device, format the disk, and mount it. | ||||||
|  | nextdevname="/dev/loop$nextdev" | ||||||
|  | echo ">>> LOOP DEVICE $nextdevname RESERVED FOR DISK: $DISK.img" | ||||||
|  | 
 | ||||||
|  | sudo losetup $nextdevname $DISK.img | ||||||
|  | 
 | ||||||
|  | if [ $format -eq 1 ]; then | ||||||
|  |     echo ">>> DISK IMAGE IS RAW AND WILL BE FORMATTED" | ||||||
|  |     sudo mkfs -t vfat $nextdevname | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | if ! [ -d $MEDIADIR/$DISK ]; then | ||||||
|  |     echo ">>> MOUNT DIRECTORY NOT FOUND. CREATING DIRECTORY NOW." | ||||||
|  |     sudo mkdir $MEDIADIR/$DISK                                           | ||||||
|  | fi | ||||||
|  | 
 | ||||||
|  | echo ">>> DISK $DISK.img MOUNTING AT LOCATION: $MEDIADIR/$DISK" | ||||||
|  | sudo mount $DISK.img $MEDIADIR/$DISK | ||||||
|  | 
 | ||||||
|  | if [ $format -eq 1 ]; then | ||||||
|  |     echo ">>> DISK INFORMATION BEING COPIED TO $DISK.img" | ||||||
|  |     sudo fdisk -l $nextdevname >> $DISK-fdisk.txt | ||||||
|  |     sudo cp $DISK-fdisk.txt $MEDIADIR/$DISK/$DISK.txt && rm $DISK-fdisk.txt | ||||||
|  | fi | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user