style changes, avoid shellcheck warning
[tee-unique] / teeu
diff --git a/teeu b/teeu
index fbeecadb12d360bb0da0789c2bacc2ecf09baa8e..4d9c6a0bed8d91508770759ab4b7f3fe933e2716 100755 (executable)
--- a/teeu
+++ b/teeu
@@ -1,5 +1,5 @@
 #!/bin/bash
 #!/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.
 
 # 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() {
 # 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.
 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"
 
 
 -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 "$@"
 }
 teeu "$@"