Skip to content

Instantly share code, notes, and snippets.

@benknoble
Created December 21, 2018 18:21
Show Gist options
  • Save benknoble/aa3cea3d14c2778f8e61f3d19c00135b to your computer and use it in GitHub Desktop.
Save benknoble/aa3cea3d14c2778f8e61f3d19c00135b to your computer and use it in GitHub Desktop.
Improvements to a shell script
#! /bin/bash
# stricter bash
# http://redsymbol.net/articles/unofficial-bash-strict-mode/
set -euo pipefail
# variables
STRINGA_TROVARE='curl'
CARTELLA_SYM_LINK=trovata_"$STRINGA_TROVARE"/
CARTELLA_OUTPUT='/home/nethogs/nethogs_log'
FILE_OUTPUT="$( date +"%Y%m%d_%H-$( date +"%H" -d '+1 hour' )" )"
COMMANDO=(
sudo /usr/sbin/nethogs
-t
-d 3600
-v 1
-c 2
-s
)
# guessing at appropriate function names, obviously
run_command() {
mkdir -p "$CARTELLA_OUTPUT"
"${COMMANDO[@]}" >> "$CARTELLA_OUTPUT$FILE_OUTPUT"
}
check_output() {
grep -c "$STRINGA_TROVARE" "$CARTELLA_OUTPUT$FILE_OUTPUT"
}
make_symlink_if_output() {
if check_output ; then
mkdir -p "$CARTELLA_SYM_LINK"
ln -s "$CARTELLA_OUTPUT$FILE_OUTPUT" "$CARTELLA_SYM_LINK$FILE_OUTPUT"
fi
}
main() {
run_command
make_symlink_if_output
}
main
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment