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
else printf "$rtline:\t"if [[ "$rtline" = ${rtline#!} ]]; then 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
fiif [[ "$ifline" = ${ifline#!} ]]; then bondcfg="bond_$ifline" /sbin/ifenslave -d $ifline ${!bondcfg} || error=1
@@ -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
fi doneif [[ "$br" = ${br#!} ]]; then /usr/sbin/brctl delbr $br
@@ -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
doneif [[ "$ifline" = ${ifline#!} ]]; then ifup $ifline || error=1 fi
@@ -198,7 +198,7 @@ case "$1" in bond_up # bring up routes for rtline in "${ROUTES[@]}"; do
if [ "$rtline" = "${rtline#!}" ]; then
doneif [[ "$rtline" = ${rtline#!} ]]; then rtup $rtline || error=1 fi
@@ -215,7 +215,7 @@ case "$1" in # exit #fi
if [[ $NETWORK_PERSIST =~ yes|YES && $RUNLEVEL == [06] ]]; then
fiif [[ "$NETWORK_PERSIST" =~ yes|YES && "$RUNLEVEL" = [06] ]]; then status "Skipping Network Shutdown" true exit 0
@@ -224,20 +224,20 @@ case "$1" in rm_daemon network error=0 for rtline in "${ROUTES[@]}"; do
if [[ $rtline = ${rtline#!} ]]; then
done # bring down bond interfaces bond_down for ifline in ${INTERFACES[@]}; doif [[ "$rtline" = ${rtline#!} ]]; then rtdown $rtline || error=1 fi
if [[ $ifline = ${ifline#!} ]]; then
done # bring down bridge interfaces bridge_downif [[ "$ifline" = ${ifline#!} ]]; then ifdown $ifline || error=1 fi
if ((error == 0)); then
else stat_failif (( error == 0 )); then stat_done
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