* checks for variable existance should not use -n or quotes * avoid using -eq, this is what arithmetic expansion is for * always quote the LHS of a [[ * always quote proper arrays expanded with @ Signed-off-by: Dave Reisner <d@falconindy.com> --- network | 40 ++++++++++++++++++++-------------------- rc.shutdown | 6 +++--- rc.single | 2 +- rc.sysinit | 18 +++++++++--------- 4 files changed, 33 insertions(+), 33 deletions(-) diff --git a/network b/network index 5a261b4..27df68a 100755 --- a/network +++ b/network @@ -69,7 +69,7 @@ ifdown() { } iflist() { - for ifline in ${INTERFACES[@]}; do + for ifline in "${INTERFACES[@]}"; do if [[ $ifline = ${ifline#!} ]]; then printf " $ifline:\t" else @@ -110,8 +110,8 @@ rtdown() { } rtlist() { - for rtline in ${ROUTES[@]}; do - if [[ $rtline = ${rtline#!} ]]; then + for rtline in "${ROUTES[@]}"; do + if [[ "$rtline" = ${rtline#!} ]]; then printf " $rtline:\t" else printf "$rtline:\t" @@ -121,8 +121,8 @@ rtlist() { } bond_up() { - for ifline in ${BOND_INTERFACES[@]}; do - if [[ $ifline = ${ifline#!} ]]; then + for ifline in "${BOND_INTERFACES[@]}"; do + if [[ "$ifline" = ${ifline#!} ]]; then bondcfg="bond_$ifline" if [[ ${!bondcfg} ]]; then /sbin/ifenslave $ifline ${!bondcfg} || error=1 @@ -132,8 +132,8 @@ bond_up() { } bond_down() { - for ifline in ${BOND_INTERFACES[@]}; do - if [[ $ifline = ${ifline#!} ]]; then + for ifline in "${BOND_INTERFACES[@]}"; do + if [[ "$ifline" = ${ifline#!} ]]; then bondcfg="bond_$ifline" /sbin/ifenslave -d $ifline ${!bondcfg} || error=1 fi @@ -141,8 +141,8 @@ bond_down() { } bridge_up() { - for br in ${BRIDGE_INTERFACES[@]}; do - if [[ $br = ${br#!} ]]; then + for br in "${BRIDGE_INTERFACES[@]}"; do + if [[ "$br" = ${br#!} ]]; then # if the bridge already exists, remove it if [[ $(/sbin/ifconfig $br 2>/dev/null) ]]; then /sbin/ifconfig $br down @@ -151,9 +151,9 @@ bridge_up() { /usr/sbin/brctl addbr $br brifs="bridge_$br" for brif in ${!brifs}; do - if [[ $brif = ${brif#!} ]]; then + if [[ "$brif" = ${brif#!} ]]; then for ifline in ${BOND_INTERFACES[@]}; do - if [[ $brif = $ifline && $ifline = ${ifline#!} ]]; then + if [[ "$brif" = $ifline && "$ifline" = ${ifline#!} ]]; then ifup $ifline bondcfg="bond_$ifline" /sbin/ifenslave $ifline ${!bondcfg} || error=1 @@ -169,8 +169,8 @@ bridge_up() { } bridge_down() { - for br in ${BRIDGE_INTERFACES[@]}; do - if [[ $br = ${br#!} ]]; then + for br in "${BRIDGE_INTERFACES[@]}"; do + if [[ "$br" = ${br#!} ]]; then /usr/sbin/brctl delbr $br fi done @@ -189,8 +189,8 @@ case "$1" in # bring up bridge interfaces bridge_up # bring up ethernet interfaces - for ifline in ${INTERFACES[@]}; do - if [[ $ifline = ${ifline#!} ]]; then + for ifline in "${INTERFACES[@]}"; do + if [[ "$ifline" = ${ifline#!} ]]; then ifup $ifline || error=1 fi done @@ -198,7 +198,7 @@ case "$1" in bond_up # bring up routes for rtline in "${ROUTES[@]}"; do - if [ "$rtline" = "${rtline#!}" ]; then + if [[ "$rtline" = ${rtline#!} ]]; then rtup $rtline || error=1 fi done @@ -215,7 +215,7 @@ case "$1" in # exit #fi - if [[ $NETWORK_PERSIST =~ yes|YES && $RUNLEVEL == [06] ]]; then + if [[ "$NETWORK_PERSIST" =~ yes|YES && "$RUNLEVEL" = [06] ]]; then status "Skipping Network Shutdown" true exit 0 fi @@ -224,20 +224,20 @@ case "$1" in rm_daemon network error=0 for rtline in "${ROUTES[@]}"; do - if [[ $rtline = ${rtline#!} ]]; then + if [[ "$rtline" = ${rtline#!} ]]; then rtdown $rtline || error=1 fi done # bring down bond interfaces bond_down for ifline in ${INTERFACES[@]}; do - if [[ $ifline = ${ifline#!} ]]; then + if [[ "$ifline" = ${ifline#!} ]]; then ifdown $ifline || error=1 fi done # bring down bridge interfaces bridge_down - if ((error == 0)); then + if (( error == 0 )); then stat_done else stat_fail diff --git a/rc.shutdown b/rc.shutdown index 499459f..9a04014 100755 --- a/rc.shutdown +++ b/rc.shutdown @@ -61,7 +61,7 @@ stat_busy "Deactivating Swap" stat_done # stop monitoring of lvm2 groups before unmounting filesystems -if [[ $USELVM =~ yes|YES && -x /sbin/lvm && -d /sys/block ]]; then +if [[ "$USELVM" =~ yes|YES && -x /sbin/lvm && -d /sys/block ]]; then stat_busy "Deactivating monitoring of LVM2 groups" /sbin/vgchange --monitor n >/dev/null 2>&1 stat_done @@ -86,7 +86,7 @@ if [[ -f /etc/crypttab && -n $CS ]] && /bin/grep -q ^[^#] /etc/crypttab; then stat_done fi -if [[ $USELVM =~ yes|YES && -x /sbin/lvm && -d /sys/block ]]; then +if [[ "$USELVM" =~ yes|YES && -x /sbin/lvm && -d /sys/block ]]; then stat_busy "Deactivating LVM2 groups" /sbin/vgchange --sysinit -a n >/dev/null 2>&1 stat_done @@ -100,7 +100,7 @@ run_hook shutdown_poweroff # Power off or reboot printsep -if [[ $RUNLEVEL = 0 ]]; then +if (( RUNLEVEL == 0 )); then printhl "${C_H2}POWER OFF" /sbin/poweroff -d -f -h -i else diff --git a/rc.single b/rc.single index aab2b58..de50a47 100755 --- a/rc.single +++ b/rc.single @@ -46,7 +46,7 @@ fi run_hook single_end -if [[ $RUNLEVEL = 1 ]]; then +if (( RUNLEVEL == 1 )); then printsep printhl "Entering single-user mode..." # make sure /dev/initctl is in place diff --git a/rc.sysinit b/rc.sysinit index 3d0eb02..b08d927 100755 --- a/rc.sysinit +++ b/rc.sysinit @@ -33,7 +33,7 @@ fi # anything more serious than KERN_WARNING goes to the console # 'verbose' cmdline parameter enables more messages -if [[ -n "$verbose" ]]; then +if [[ $verbose ]]; then /bin/dmesg -n 8 else /bin/dmesg -n 3 @@ -162,11 +162,11 @@ if [[ -f /etc/crypttab && -n $CS ]] && /bin/grep -q ^[^#] /etc/crypttab; then # This sanity check _should_ be sufficient, but it might not. # This may cause dataloss if it is not used carefully. /sbin/blkid -p "$2" &>/dev/null - if [[ $? -eq 2 ]]; then + if (( $? == 2 )); then _overwriteokay=1 fi fi - if [[ $_overwriteokay -eq 0 ]]; then + if (( _overwriteokay == 0 )); then false elif $CS -d /dev/urandom $4 $open "$a" "$b" >/dev/null; then stat_append "creating swapspace.." @@ -204,7 +204,7 @@ if [[ -f /etc/crypttab && -n $CS ]] && /bin/grep -q ^[^#] /etc/crypttab; then *) echo "$3" | $CS $4 $open "$a" "$b" >/dev/null;; esac - if (($? != 0)); then + if (( $? != 0 )); then failed=1 stat_append "failed " else @@ -218,7 +218,7 @@ if [[ -f /etc/crypttab && -n $CS ]] && /bin/grep -q ^[^#] /etc/crypttab; then else stat_fail fi - if [[ ${crypto_unlocked} -eq 1 ]]; then + if (( crypto_unlocked == 1 )); then # Maybe someone has LVM on an encrypted block device activate_vgs fi @@ -246,11 +246,11 @@ if [[ -x /sbin/fsck ]]; then run_hook sysinit_prefsck /sbin/fsck -A -T -C$FSCK_FD -a -t "$NETFS,noopts=_netdev" $FORCEFSCK >$FSCK_OUT 2>$FSCK_ERR fsckret=$? - if ((fsckret > 1)); then + if (( fsckret > 1 )); then stat_fail fi run_hook sysinit_postfsck - if (( ( fsckret & 2) == 2)); then + if (( (fsckret & 2) == 2 )); then echo echo "********************** REBOOT REQUIRED *********************" echo "* *" @@ -260,7 +260,7 @@ if [[ -x /sbin/fsck ]]; then echo /bin/sleep 15 fsck_reboot - elif ((fsckret > 1 && fsckret != 32)); then + elif (( fsckret > 1 && fsckret != 32 )); then echo echo "***************** FILESYSTEM CHECK FAILED ****************" echo "* *" @@ -280,7 +280,7 @@ fi stat_busy "Mounting Local Filesystems" /bin/mount -n -o remount,rw / -if [ -x /bin/findmnt -a -e /proc/self/mountinfo ]; then +if [[ -x /bin/findmnt && -e /proc/self/mountinfo ]]; then /bin/findmnt -rnu -o SOURCE,TARGET,FSTYPE,OPTIONS >| /etc/mtab else cat /proc/mounts >| /etc/mtab -- 1.7.4.1