- content=$($readsudo cat "$file"; echo b) content=${content%b}
-
- # 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.
- # So we do some slick bash to match this.
- local start="?(*
+ 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.
+ # So we do some slick bash to match this.
+ local start="?(*