style changes, avoid shellcheck warning
authorIan Kelling <iank@fsf.org>
Thu, 4 Apr 2024 04:24:12 +0000 (00:24 -0400)
committerIan Kelling <iank@fsf.org>
Thu, 4 Apr 2024 04:24:12 +0000 (00:24 -0400)
teeu

diff --git a/teeu b/teeu
index fbeecadb12d360bb0da0789c2bacc2ecf09baa8e..4d9c6a0bed8d91508770759ab4b7f3fe933e2716 100755 (executable)
--- a/teeu
+++ b/teeu
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright (C) 2016 Ian Kelling
+# Copyright (C) 2024 Ian Kelling
 
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
 # limitations under the License.
 
 teeu() {
-    local help="Usage: teeu [-h|--help] FILE [LINE]
+  local help="Usage: teeu [-h|--help] FILE [LINE]
 Append LINE if it's not already in FILE
 
 If no LINE is specified, process each line from STDIN.
@@ -22,21 +22,27 @@ teeu is short for tee unique.
 
 -h|--help  display this message"
 
-    if [[ $1 == --help || $1 == -h ]]; then
-        echo "$help"
-        return
-    fi
-
-    if (( ${#@} == 0 )) ; then
-        echo "teeu error: need 1 or more arguments"
-        echo "$help"
-        return 1
-    fi
-    local MAPFILE
-    (( ${#@} >= 2 )) && MAPFILE="${@:2}" || mapfile -t
-    for line in "${MAPFILE[@]}"; do
-        grep -xFq "$line" "$1" &>/dev/null || tee -a "$1" <<<"$line"
-    done
-    return 0
+  if [[ $1 == --help || $1 == -h ]]; then
+    echo "$help"
+    return
+  fi
+
+  if (( ${#@} == 0 )) ; then
+    echo "teeu error: need 1 or more arguments"
+    echo "$help"
+    return 1
+  fi
+  file="$1"
+  shift
+  local MAPFILE
+  if [[ $1 ]]; then
+    MAPFILE=("$*")
+  else
+    mapfile -t
+  fi
+  for line in "${MAPFILE[@]}"; do
+    grep -xFq "$line" "$file" &>/dev/null || tee -a "$file" <<<"$line"
+  done
+  return 0
 }
 teeu "$@"