The =~ operator is not one of my favorites, not just due to portability
issues, but because it's not well known, and a lot of people might
not expect a regex operator.
The canonical shell idiom for this is to use case with alternation
and wildcards. As a side note, if you are matching anything containing
core-image-sato, you don't need to also check for core-image-sato-sdk.
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
# recently created one is the one we most likely want to boot.
filenames=`ls -t $where/*-image*$machine.$extension 2>/dev/null | xargs`
for name in $filenames; do
- if [ "$name" =~ core-image-sato-sdk -o \
- "$name" =~ core-image-sato -o \
- "$name" =~ core-image-lsb -o \
- "$name" =~ core-image-basic -o \
- "$name" =~ core-image-minimal ]; then
+ case $name in
+ *core-image-sato* | \
+ *core-image-lsb* | \
+ *core-image-basic* | \
+ *core-image-minimal* )
ROOTFS=$name
return
- fi
+ ;;
+ esac
done
echo "Couldn't find a $machine rootfs image in $where."