Browse Source

Simplify setting of transition mode

Alois Mahdal 3 years ago
parent
commit
fafcd42f5c
1 changed files with 13 additions and 11 deletions
  1. 13
    11
      99bottles.sh

+ 13
- 11
99bottles.sh View File

167
         echo "Go to the store and buy some more"
167
         echo "Go to the store and buy some more"
168
         nb=ninety-nine
168
         nb=ninety-nine
169
     else
169
     else
170
-        echo "$BreakLine"
170
+        echo "$TransitionLine"
171
         nb=$(pred "$nb")
171
         nb=$(pred "$nb")
172
     fi
172
     fi
173
     echo "$nb bottles of beer on the wall"
173
     echo "$nb bottles of beer on the wall"
214
 }
214
 }
215
 
215
 
216
 main() {
216
 main() {
217
-    local BreakLine             # bottle-break (or not) line
218
-    local standard_break_line   # ^^ standard variant
219
-    local wasteful_break_line   # ^^ wasteful (bottle breaks) variant
220
-    local nb            # beginning number
221
-    standard_break_line="Take one down and pass it around"
222
-    wasteful_break_line="If one of those bottles should happen to fall"
223
-    BreakLine=$(
224
-        [ "$1" = --careless ] \
225
-         && echo "$wasteful_break_line" \
226
-         || echo "$standard_break_line"
217
+    local TransitionLine    # transition line between verses
218
+    local nb                # beginning number
219
+    local mode=standard     # transition mode
220
+    while true; do case $1 in
221
+        --careless)     mode=careless; shift ;;
222
+        *)              break ;;
223
+    esac done
224
+    TransitionLine=$(
225
+        case $mode in
226
+            standard)   echo "Take one down and pass it around" ;;
227
+            careless)   echo "If one of those bottles should happen to fall" ;;
228
+        esac
227
     )
229
     )
228
     nb=ninety-nine
230
     nb=ninety-nine
229
     while [ -n "$nb" ]; do
231
     while [ -n "$nb" ]; do