From e132105cc334de949cec721c03186ace9c06ea8b Mon Sep 17 00:00:00 2001 From: John McCardle Date: Tue, 8 Feb 2022 23:17:50 -0500 Subject: [PATCH] Day two: not much to do here, so I made a fun prompt script. --- day2_exitcodeprompt.sh | 31 +++++++++++++++++++++++++++++++ test_error.sh | 6 ++++++ 2 files changed, 37 insertions(+) create mode 100644 day2_exitcodeprompt.sh create mode 100755 test_error.sh diff --git a/day2_exitcodeprompt.sh b/day2_exitcodeprompt.sh new file mode 100644 index 0000000..661c050 --- /dev/null +++ b/day2_exitcodeprompt.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +# +# Day 2 - Generate Inventory +# "Pimp my prompt" with the return value of the last command. +# source this from ~/.bashrc or similar to modify PS1 to show the return value of previous command. +# Use the "demojify" command to restore your previous prompt after sourcing. + +PS1OLD=$PS1 + +exitprompt () +{ + ERROR="$?" + if [ "$ERROR" -eq 0 ] + then + COLORCODE=32 # foreground green + EMOJI="🙂" + else + COLORCODE=31 # foreground red + EMOJI="🙁" + fi + echo -e "\e[${COLORCODE}m${ERROR}${EMOJI}\e[0m" +} + +demojify () +{ + PS1=$PS1OLD +} + +PS1="$PS1 \$(exitprompt)$ " + diff --git a/test_error.sh b/test_error.sh new file mode 100755 index 0000000..effbc7a --- /dev/null +++ b/test_error.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +# Returns a non-zero exit code on purpose to test the day 2 error prompt. + +exit 42 +