The use of a subshell was causing various failures, re-arrange not to
use one.
Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
in_userns() {
[ -e /proc/self/uid_map ] || { echo no; return; }
- awk '{ print $1 " " $2 " " $3 }' /proc/self/uid_map | while read line; do
- [ "$line" = "0 0 4294967295" ] && { echo no; return; } || true
- echo $line | grep -q " 0 1$" && { echo userns-root; return; } || true
- done
+ while read line; do
+ fields=$(echo $line | awk '{ print $1 " " $2 " " $3 }')
+ [ "$fields" = "0 0 4294967295" ] && { echo no; return; } || true
+ echo $fields | grep -q " 0 1$" && { echo userns-root; return; } || true
+ done < /proc/self/uid_map
[ "$(cat /proc/self/uid_map)" = "$(cat /proc/1/uid_map)" ] && \
{ echo userns-root; return; }