From 66329e1fe1e62d2702f7debd0c2de0d0d07df1d7 Mon Sep 17 00:00:00 2001 From: Matthias Schoepfer Date: Mon, 5 Jul 2021 14:51:16 +0200 Subject: [PATCH] script: run shellcheck on bash / sh scripts Mostly fixed omitted double quotes, some conversion of $(eval ..) to $(()). Left the echo -n untouched, shellcheck complains about not being standard in /bin/sh. Also, seems like some code is dublicated in ethercatctl.in and init.d/ethercat.in. Signed-off-by: Matthias Schoepfer --- script/ethercatctl.in | 41 ++++++++++++++++++++------------------- script/ifup-eoe.sh | 13 ++++++------- script/init.d/ethercat.in | 40 +++++++++++++++++++------------------- 3 files changed, 47 insertions(+), 47 deletions(-) diff --git a/script/ethercatctl.in b/script/ethercatctl.in index 0fd44190..fa7b15ef 100755 --- a/script/ethercatctl.in +++ b/script/ethercatctl.in @@ -49,6 +49,7 @@ if [ ! -r ${ETHERCAT_CONFIG} ]; then exit 6 fi +# shellcheck source=/etc/ethercat.conf . ${ETHERCAT_CONFIG} #------------------------------------------------------------------------------ @@ -56,10 +57,10 @@ fi parse_mac_address() { if [ -z "${1}" ]; then MAC="" - elif echo ${1} | grep -qE '^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$'; then + elif echo "${1}" | grep -qE '^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$'; then MAC=${1} else - echo Invalid MAC address \"${1}\" in ${ETHERCAT_CONFIG} + echo Invalid MAC address \""${1}"\" in ${ETHERCAT_CONFIG} exit 1 fi } @@ -84,18 +85,18 @@ start) BACKUPS=${BACKUPS}, fi - parse_mac_address ${DEVICE} + parse_mac_address "${DEVICE}" DEVICES=${DEVICES}${MAC} - parse_mac_address ${BACKUP} + parse_mac_address "${BACKUP}" BACKUPS=${BACKUPS}${MAC} - MASTER_INDEX=$(expr ${MASTER_INDEX} + 1) + MASTER_INDEX=$(( "${MASTER_INDEX}" + 1)) done # load master module - if ! ${MODPROBE} ${MODPROBE_FLAGS} ec_master \ - main_devices=${DEVICES} backup_devices=${BACKUPS}; then + if ! ${MODPROBE} "${MODPROBE_FLAGS}" ec_master \ + main_devices="${DEVICES}" backup_devices="${BACKUPS}"; then exit 1 fi @@ -104,25 +105,25 @@ start) # check for modules to replace for MODULE in ${DEVICE_MODULES}; do ECMODULE=ec_${MODULE} - if ! ${MODINFO} ${ECMODULE} > /dev/null; then + if ! ${MODINFO} "${ECMODULE}" > /dev/null; then continue # ec_* module not found fi - if [ ${MODULE} != "generic" -a ${MODULE} != "ccat" ]; then + if [ "${MODULE}" != "generic" ] && [ "${MODULE}" != "ccat" ]; then # try to unload standard module if ${LSMOD} | grep "^${MODULE} " > /dev/null; then - if ! ${RMMOD} ${MODULE}; then + if ! ${RMMOD} "${MODULE}"; then ${RMMOD} ${LOADED_MODULES} exit 1 fi fi fi - if ! ${MODPROBE} ${MODPROBE_FLAGS} ${ECMODULE}; then - if [ ${MODULE} != "generic" -a ${MODULE} != "ccat" ]; then - ${MODPROBE} ${MODPROBE_FLAGS} ${MODULE} # try to restore + if ! ${MODPROBE} "${MODPROBE_FLAGS}" "${ECMODULE}"; then + if [ "${MODULE}" != "generic" ] && [ "${MODULE}" != "ccat" ]; then + ${MODPROBE} "${MODPROBE_FLAGS}" "${MODULE}" # try to restore fi - ${RMMOD} ${LOADED_MODULES} + ${RMMOD} "${LOADED_MODULES}" exit 1 fi @@ -141,7 +142,7 @@ stop) if ! ${LSMOD} | grep -q "^${ECMODULE} "; then continue # ec_* module not loaded fi - if ! ${RMMOD} ${ECMODULE}; then + if ! ${RMMOD} "${ECMODULE}"; then exit 1 fi; done @@ -150,10 +151,10 @@ stop) # load standard modules again for MODULE in ${DEVICE_MODULES}; do - if [ ${MODULE} == "generic" -o ${MODULE} == "ccat" ]; then + if [ "${MODULE}" == "generic" ] || [ "${MODULE}" == "ccat" ]; then continue fi - ${MODPROBE} ${MODPROBE_FLAGS} ${MODULE} + ${MODPROBE} "${MODPROBE_FLAGS}" "${MODULE}" done exit 0 @@ -177,16 +178,16 @@ status) while true; do DEVICE=$(eval echo "\${MASTER${MASTER_COUNT}_DEVICE}") if [ -z "${DEVICE}" ]; then break; fi - MASTER_COUNT=$(expr ${MASTER_COUNT} + 1) + MASTER_COUNT=$(( "${MASTER_COUNT}" + 1)) done RESULT=0 - for i in `seq 0 $(expr ${MASTER_COUNT} - 1)`; do + for i in $(seq 0 "$(( "${MASTER_COUNT}" - 1))"); do echo -n "Master${i} " # Check if the master is in idle or operation phase - ${ETHERCAT} master --master ${i} 2>/dev/null | \ + ${ETHERCAT} master --master "${i}" 2>/dev/null | \ grep -qE 'Phase:[[:space:]]*Idle|Phase:[[:space:]]*Operation' EXITCODE=$? diff --git a/script/ifup-eoe.sh b/script/ifup-eoe.sh index 2e81185c..0d0f8d5f 100755 --- a/script/ifup-eoe.sh +++ b/script/ifup-eoe.sh @@ -33,7 +33,6 @@ # this ifup.d script adds special network interfaces to a network bridge -CFGNAME=${1} IFNAME=${2} # customize here @@ -43,7 +42,7 @@ BRCTL="/sbin/brctl" LOGGER="logger -t ifup-eoe" # if the current interface in the list of interfaces to bridge? -if ! echo ${INTERFACES} | grep -qw ${IFNAME}; then +if ! echo "${INTERFACES}" | grep -qw "${IFNAME}"; then exit 0; fi @@ -53,10 +52,10 @@ if ! ${BRCTL} show | grep -q "^${BRNAME}"; then ${BRCTL} addbr ${BRNAME} # create it fi -${LOGGER} Adding ${IFNAME} to ${BRNAME} -ip link set ${IFNAME} down -ip addr flush dev ${IFNAME} -${BRCTL} addif ${BRNAME} ${IFNAME} -ip link set ${IFNAME} up +${LOGGER} Adding "${IFNAME}" to ${BRNAME} +ip link set "${IFNAME}" down +ip addr flush dev "${IFNAME}" +${BRCTL} addif ${BRNAME} "${IFNAME}" +ip link set "${IFNAME}" up #------------------------------------------------------------------------------ diff --git a/script/init.d/ethercat.in b/script/init.d/ethercat.in index d0f981cd..ac078234 100755 --- a/script/init.d/ethercat.in +++ b/script/init.d/ethercat.in @@ -122,10 +122,10 @@ print_dead() { parse_mac_address() { if [ -z "${1}" ]; then MAC="" - elif echo ${1} | grep -qE '^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$'; then + elif echo "${1}" | grep -qE '^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$'; then MAC=${1} else - echo Invalid MAC address \"${1}\" in ${ETHERCAT_CONFIG} + echo Invalid MAC address \""${1}"\" in ${ETHERCAT_CONFIG} exit_fail fi } @@ -156,37 +156,37 @@ start) BACKUPS=${BACKUPS}, fi - parse_mac_address ${DEVICE} + parse_mac_address "${DEVICE}" DEVICES=${DEVICES}${MAC} - parse_mac_address ${BACKUP} + parse_mac_address "${BACKUP}" BACKUPS=${BACKUPS}${MAC} - MASTER_INDEX=$(expr ${MASTER_INDEX} + 1) + MASTER_INDEX=$(( "${MASTER_INDEX}" + 1)) done # load master module - if ! ${MODPROBE} ${MODPROBE_FLAGS} ec_master ${MASTER_ARGS} \ - main_devices=${DEVICES} backup_devices=${BACKUPS}; then + if ! ${MODPROBE} "${MODPROBE_FLAGS}" ec_master "${MASTER_ARGS}" \ + main_devices="${DEVICES}" backup_devices="${BACKUPS}"; then exit_fail fi # check for modules to replace for MODULE in ${DEVICE_MODULES}; do ECMODULE=ec_${MODULE} - if ! ${MODINFO} ${ECMODULE} > /dev/null; then + if ! ${MODINFO} "${ECMODULE}" > /dev/null; then continue # ec_* module not found fi - if [ ${MODULE} != "generic" ]; then + if [ "${MODULE}" != "generic" ]; then if ${LSMOD} | grep "^${MODULE} " > /dev/null; then - if ! ${RMMOD} ${MODULE}; then + if ! ${RMMOD} "${MODULE}"; then exit_fail fi fi fi - if ! ${MODPROBE} ${MODPROBE_FLAGS} ${ECMODULE}; then - if [ ${MODULE} != "generic" ]; then - ${MODPROBE} ${MODPROBE_FLAGS} ${MODULE} # try to restore + if ! ${MODPROBE} "${MODPROBE_FLAGS}" "${ECMODULE}"; then + if [ "${MODULE}" != "generic" ]; then + ${MODPROBE} "${MODPROBE_FLAGS}" "${MODULE}" # try to restore fi exit_fail fi @@ -204,7 +204,7 @@ stop) if ! ${LSMOD} | grep -q "^${ECMODULE} "; then continue # ec_* module not loaded fi - if ! ${RMMOD} ${ECMODULE}; then + if ! ${RMMOD} "${ECMODULE}"; then exit_fail fi; done @@ -213,9 +213,9 @@ stop) # reload previous modules for MODULE in ${DEVICE_MODULES}; do - if [ ${MODULE} != "generic" ]; then - if ! ${MODPROBE} ${MODPROBE_FLAGS} ${MODULE}; then - echo Warning: Failed to restore ${MODULE}. + if [ "${MODULE}" != "generic" ]; then + if ! ${MODPROBE} "${MODPROBE_FLAGS}" "${MODULE}"; then + echo Warning: Failed to restore "${MODULE}". fi fi done @@ -237,16 +237,16 @@ status) while true; do DEVICE=$(eval echo "\${MASTER${MASTER_COUNT}_DEVICE}") if [ -z "${DEVICE}" ]; then break; fi - MASTER_COUNT=$(expr ${MASTER_COUNT} + 1) + MASTER_COUNT=$(( "${MASTER_COUNT}" + 1)) done RESULT=0 - for i in `seq 0 $(expr ${MASTER_COUNT} - 1)`; do + for i in $(seq 0 "$(( "${MASTER_COUNT}" - 1))"); do echo -n "Master${i} " # Check if the master is in idle or operation phase - ${ETHERCAT} master --master ${i} 2>/dev/null | \ + ${ETHERCAT} master --master "${i}" 2>/dev/null | \ grep -qE 'Phase:[[:space:]]*Idle|Phase:[[:space:]]*Operation' EXITCODE=$?