appliance: use bash features for string matching in files

Read the content of /proc/cmdline using bash features, and use its
[[ ... ]] expression to find texts in a variable.

This shaves off 5 grep invocations.
This commit is contained in:
Pino Toscano
2016-03-22 15:48:53 +01:00
committed by Richard W.M. Jones
parent e2457d0773
commit bb5d30ab2a

View File

@@ -75,7 +75,9 @@ $UDEVD --daemon #--debug
udevadm trigger
udevadm settle --timeout=600
if grep -sq selinux=1 /proc/cmdline; then
cmdline=$(</proc/cmdline)
if [[ $cmdline == *selinux=1* ]]; then
mount -t selinuxfs none /sys/fs/selinux
fi
@@ -91,16 +93,16 @@ shopt -u nullglob
hwclock -u -s
# Parse the kernel command line.
if grep -sq guestfs_verbose=1 /proc/cmdline; then
if [[ $cmdline == *guestfs_verbose=1* ]]; then
guestfs_verbose=1
fi
if grep -sq guestfs_network=1 /proc/cmdline; then
if [[ $cmdline == *guestfs_network=1* ]]; then
guestfs_network=1
fi
if grep -sq guestfs_rescue=1 /proc/cmdline; then
if [[ $cmdline == *guestfs_rescue=1* ]]; then
guestfs_rescue=1
fi
if grep -sq guestfs_noreboot=1 /proc/cmdline; then
if [[ $cmdline == *guestfs_noreboot=1* ]]; then
guestfs_noreboot=1
fi
eval `grep -Eo 'guestfs_channel=[^[:space:]]+' /proc/cmdline`