X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=appendu;h=67e68342a2bb18f614e6e429f375bee04ed9008d;hb=dc0386f28d2e917f8a5a81ff66bcd26d3b029e42;hp=1e3d583c550e9f084da2cfe8df9be78fae1ed332;hpb=676dcfe6e8836e8771943f9d075e2da6877aaf55;p=tee-unique diff --git a/appendu b/appendu index 1e3d583..67e6834 100755 --- a/appendu +++ b/appendu @@ -75,9 +75,13 @@ LINE_SETs are treated the same. sed -ie '$a\' "$file" # command substitution removes any trailing newlines, so we have to add # a non-newline ending, we randomly chose "b", then remove it. - local content=$(cat "$file"; echo b) content=${content%b} + local content=$(cat "$file"; echo b) + content=${content%b} fi + local reset_extglob=false + ! shopt extglob >/dev/null && reset_extglob=true + shopt -s extglob # we aren't using regex because we want to match strings, # but we also want our match to start at the beginning of a line, # or the beginning of the file, and to end at a line ending. @@ -96,6 +100,7 @@ LINE_SETs are treated the same. fi fi done + $reset_extglob && shopt -u extglob return 0 } appendu "$@"