28 lines
660 B
Bash
Executable file
28 lines
660 B
Bash
Executable file
print_uptime() {
|
|
local HOST=$1
|
|
local EMOJI=$2
|
|
|
|
# -n: do not echo a newline
|
|
echo -n "$EMOJI $HOST: ~"
|
|
|
|
# The output of `uptime` looks like this:
|
|
# `18:40:54 up 1 day 0:51, 0 users, load average: 0.79, 0.68, 0.69`,
|
|
# so we use awk to trim it down to the parts we care about.
|
|
#
|
|
# For awk:
|
|
# -F: splits the input by a string
|
|
ssh $USER@$HOST uptime \
|
|
| awk -F '(up |,)' '{print $2}'
|
|
}
|
|
|
|
echo "Uptimes:"
|
|
|
|
{
|
|
print_uptime "tethys" "🔥"
|
|
print_uptime "lapetus" "⛵"
|
|
} |
|
|
column --table -R 2 -s "~"
|
|
# ^ We use the column command to align things nicely:
|
|
# -R 2 aligns the second column to the right
|
|
# -s ~ will split on occurrences of ~
|