aboutsummaryrefslogtreecommitdiff
path: root/bash/bash_profile.d/verse.bash
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2015-06-10 10:44:18 +1200
committerTom Ryder <tom@sanctum.geek.nz>2015-06-10 10:44:18 +1200
commit69dabe5a87f556505b6dd05ea2250df293b4889b (patch)
treeffefcd8b0d4ac4d6d61beea8dd4ac67031f79b99 /bash/bash_profile.d/verse.bash
parentPrint verse(1) output on login but only once a day (diff)
downloaddotfiles-69dabe5a87f556505b6dd05ea2250df293b4889b.tar.gz
dotfiles-69dabe5a87f556505b6dd05ea2250df293b4889b.zip
Instate .bash_profile.d
Stuff that prints messages really only needs to be done for my primary login shell
Diffstat (limited to 'bash/bash_profile.d/verse.bash')
-rw-r--r--bash/bash_profile.d/verse.bash15
1 files changed, 15 insertions, 0 deletions
diff --git a/bash/bash_profile.d/verse.bash b/bash/bash_profile.d/verse.bash
new file mode 100644
index 00000000..5d2538dc
--- /dev/null
+++ b/bash/bash_profile.d/verse.bash
@@ -0,0 +1,15 @@
+# Run verse(1) if it's installed and we haven't seen it already today (the
+# verses are selected by date); run in a subshell to keep vars out of global
+# namespace
+if [[ $- == *i* ]] && hash verse 2>/dev/null ; then (
+ date=$(date +%Y-%m-%d)
+ versefile=${VERSEFILE:-$HOME/.verse}
+ if [[ -e "$HOME"/.verse ]] ; then
+ read -r lastversedate < "$versefile"
+ fi
+ if [[ "$date" > "$lastversedate" ]] ; then
+ printf '\n%s\n\n' "$(verse)"
+ printf '%s\n' "$date" > "$versefile"
+ fi
+) ; fi
+