-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathphilos-o-mat.sh
executable file
·49 lines (44 loc) · 985 Bytes
/
philos-o-mat.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#!/bin/bash
MAT_LANG=${MAT_LANG:-en}
MAT_ROOT=$( dirname -- "$0"; )
MAT_FILE=$MAT_ROOT/library_${MAT_LANG}.txt
MAT_TOPICS=()
MAT_ADVERBS=()
MAT_DEPICTIONS=()
while IFS= read -r line
do
if [ -n "$line" ]
then
TYPE=${line:0:1}
TXT=${line:2}
if [ $TYPE == "#" ]
then # ignore line
sleep 0
elif [ $TYPE == "t" ]
then
MAT_TOPICS+=("$TXT")
elif [ $TYPE == "a" ]
then
MAT_ADVERBS+=("$TXT")
elif [ $TYPE == "d" ]
then
MAT_DEPICTIONS+=("$TXT")
fi
fi
done < $MAT_FILE
R=$RANDOM
let R%=${#MAT_TOPICS[*]}
MAT_TOPIC=${MAT_TOPICS[$R]}
R=$RANDOM
let R%=${#MAT_ADVERBS[*]}
MAT_ADVERB=${MAT_ADVERBS[$R]}
R=$RANDOM
let R%=${#MAT_DEPICTIONS[*]}
MAT_DEPICTION=${MAT_DEPICTIONS[$R]}
PRE=""
POST=""
if [[ "$TERM" =~ "xterm" ]]; then
PRE="\033[3m"
POST="\033[23m"
fi
echo -e "${PRE}„$MAT_TOPIC $MAT_ADVERB $MAT_DEPICTION.“$POST — Philos-O-Mat"