26 Mar
2011
26 Mar
'11
10:15 p.m.
On Saturday 26 March 2011 16:32:01 Dave Reisner wrote: > * 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 Looks fine to me, and I trust your judgement of what bashisms are the best ones... -t