From 3df39aa7fbd6f8712fda3d90a9c595e7d6aadeef Mon Sep 17 00:00:00 2001 From: Martin Schwenke Date: Fri, 10 Jun 2022 10:11:27 +1000 Subject: [PATCH] ctdb-scripts: Avoid ShellCheck warning SC2164 SC2164 (warning): Use 'cd ... || exit' or 'cd ... || return' in case cd fails. A problem can only occur if /etc/ctdb/ or an important subdirectory is removed, which means the script itself would not be found. Use && to silence ShellCheck. Signed-off-by: Martin Schwenke Reviewed-by: Amitay Isaacs --- ctdb/config/ctdb-crash-cleanup.sh | 2 +- ctdb/config/debug-hung-script.sh | 2 +- ctdb/config/debug_locks.sh | 2 +- ctdb/config/events/legacy/00.ctdb.script | 2 +- ctdb/config/events/legacy/01.reclock.script | 2 +- ctdb/config/events/legacy/05.system.script | 2 +- ctdb/config/events/legacy/06.nfs.script | 2 +- ctdb/config/events/legacy/10.interface.script | 2 +- ctdb/config/events/legacy/11.natgw.script | 2 +- ctdb/config/events/legacy/11.routing.script | 2 +- ctdb/config/events/legacy/13.per_ip_routing.script | 2 +- ctdb/config/events/legacy/20.multipathd.script | 2 +- ctdb/config/events/legacy/31.clamd.script | 2 +- ctdb/config/events/legacy/40.vsftpd.script | 2 +- ctdb/config/events/legacy/41.httpd.script | 2 +- ctdb/config/events/legacy/48.netbios.script | 2 +- ctdb/config/events/legacy/49.winbind.script | 2 +- ctdb/config/events/legacy/50.samba.script | 2 +- ctdb/config/events/legacy/60.nfs.script | 2 +- ctdb/config/events/legacy/70.iscsi.script | 2 +- ctdb/config/events/legacy/91.lvs.script | 2 +- ctdb/config/statd-callout | 2 +- ctdb/tests/UNIT/shellcheck/scripts/local.sh | 5 +---- 23 files changed, 23 insertions(+), 26 deletions(-) diff --git a/ctdb/config/ctdb-crash-cleanup.sh b/ctdb/config/ctdb-crash-cleanup.sh index 896a90cda98..95cfd75981f 100755 --- a/ctdb/config/ctdb-crash-cleanup.sh +++ b/ctdb/config/ctdb-crash-cleanup.sh @@ -5,7 +5,7 @@ # [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; echo "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && echo "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/debug-hung-script.sh b/ctdb/config/debug-hung-script.sh index 03d5ea2f6a0..c1ac0f1e1ad 100755 --- a/ctdb/config/debug-hung-script.sh +++ b/ctdb/config/debug-hung-script.sh @@ -4,7 +4,7 @@ # for other operating systems. [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; echo "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && echo "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/debug_locks.sh b/ctdb/config/debug_locks.sh index b2e20250f5a..6c730ee1802 100755 --- a/ctdb/config/debug_locks.sh +++ b/ctdb/config/debug_locks.sh @@ -22,7 +22,7 @@ # accompanying patch. [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; echo "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && echo "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/00.ctdb.script b/ctdb/config/events/legacy/00.ctdb.script index b1c9890e751..81c16af08a0 100755 --- a/ctdb/config/events/legacy/00.ctdb.script +++ b/ctdb/config/events/legacy/00.ctdb.script @@ -4,7 +4,7 @@ # elsewhere. [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/01.reclock.script b/ctdb/config/events/legacy/01.reclock.script index ab0f2f6a32b..04068750efa 100755 --- a/ctdb/config/events/legacy/01.reclock.script +++ b/ctdb/config/events/legacy/01.reclock.script @@ -2,7 +2,7 @@ # script to check accessibility to the reclock file on a node [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/05.system.script b/ctdb/config/events/legacy/05.system.script index 08e401a9e73..56920f74f38 100755 --- a/ctdb/config/events/legacy/05.system.script +++ b/ctdb/config/events/legacy/05.system.script @@ -2,7 +2,7 @@ # ctdb event script for checking local file system utilization [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/06.nfs.script b/ctdb/config/events/legacy/06.nfs.script index 97086f78ed0..b937d433254 100755 --- a/ctdb/config/events/legacy/06.nfs.script +++ b/ctdb/config/events/legacy/06.nfs.script @@ -2,7 +2,7 @@ # script to manage nfs in a clustered environment [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/10.interface.script b/ctdb/config/events/legacy/10.interface.script index 8db6b5f42fe..7dfacd317d6 100755 --- a/ctdb/config/events/legacy/10.interface.script +++ b/ctdb/config/events/legacy/10.interface.script @@ -6,7 +6,7 @@ # public interface [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/11.natgw.script b/ctdb/config/events/legacy/11.natgw.script index b02ff7a6bf4..fb93dea6d5e 100755 --- a/ctdb/config/events/legacy/11.natgw.script +++ b/ctdb/config/events/legacy/11.natgw.script @@ -6,7 +6,7 @@ # [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/11.routing.script b/ctdb/config/events/legacy/11.routing.script index 3a526e1ed47..7ba7f3bf4a8 100755 --- a/ctdb/config/events/legacy/11.routing.script +++ b/ctdb/config/events/legacy/11.routing.script @@ -18,7 +18,7 @@ # bond1 10.3.3.0/24 10.0.0.1 [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/13.per_ip_routing.script b/ctdb/config/events/legacy/13.per_ip_routing.script index ed5677327a1..e25647613bb 100755 --- a/ctdb/config/events/legacy/13.per_ip_routing.script +++ b/ctdb/config/events/legacy/13.per_ip_routing.script @@ -1,7 +1,7 @@ #!/bin/sh [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/20.multipathd.script b/ctdb/config/events/legacy/20.multipathd.script index ed6d5523a87..a420251d92c 100755 --- a/ctdb/config/events/legacy/20.multipathd.script +++ b/ctdb/config/events/legacy/20.multipathd.script @@ -7,7 +7,7 @@ # [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/31.clamd.script b/ctdb/config/events/legacy/31.clamd.script index 3b19923cc1b..5d60fe3aa37 100755 --- a/ctdb/config/events/legacy/31.clamd.script +++ b/ctdb/config/events/legacy/31.clamd.script @@ -2,7 +2,7 @@ # event script to manage clamd in a cluster environment [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/40.vsftpd.script b/ctdb/config/events/legacy/40.vsftpd.script index 69876d26dac..19d40071ce2 100755 --- a/ctdb/config/events/legacy/40.vsftpd.script +++ b/ctdb/config/events/legacy/40.vsftpd.script @@ -2,7 +2,7 @@ # event strict to manage vsftpd in a cluster environment [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/41.httpd.script b/ctdb/config/events/legacy/41.httpd.script index 3d67aee9028..dd90aeda274 100755 --- a/ctdb/config/events/legacy/41.httpd.script +++ b/ctdb/config/events/legacy/41.httpd.script @@ -2,7 +2,7 @@ # event script to manage httpd in a cluster environment [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/48.netbios.script b/ctdb/config/events/legacy/48.netbios.script index d2cbf983b6a..43204476d6b 100755 --- a/ctdb/config/events/legacy/48.netbios.script +++ b/ctdb/config/events/legacy/48.netbios.script @@ -2,7 +2,7 @@ # ctdb event script for Netbios Name Services [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/49.winbind.script b/ctdb/config/events/legacy/49.winbind.script index 8b1c8b853c0..852b54165cf 100755 --- a/ctdb/config/events/legacy/49.winbind.script +++ b/ctdb/config/events/legacy/49.winbind.script @@ -2,7 +2,7 @@ # ctdb event script for winbind [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/50.samba.script b/ctdb/config/events/legacy/50.samba.script index b0e2fff1e09..81c6e7fa6ba 100755 --- a/ctdb/config/events/legacy/50.samba.script +++ b/ctdb/config/events/legacy/50.samba.script @@ -2,7 +2,7 @@ # ctdb event script for Samba [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/60.nfs.script b/ctdb/config/events/legacy/60.nfs.script index 1b87b3d27e3..8e496f73cc5 100755 --- a/ctdb/config/events/legacy/60.nfs.script +++ b/ctdb/config/events/legacy/60.nfs.script @@ -2,7 +2,7 @@ # script to manage nfs in a clustered environment [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/70.iscsi.script b/ctdb/config/events/legacy/70.iscsi.script index 0828d473b7a..e74651d8eb1 100755 --- a/ctdb/config/events/legacy/70.iscsi.script +++ b/ctdb/config/events/legacy/70.iscsi.script @@ -3,7 +3,7 @@ # CTDB event script for TGTD based iSCSI [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/events/legacy/91.lvs.script b/ctdb/config/events/legacy/91.lvs.script index 05f0431b661..885506873a0 100755 --- a/ctdb/config/events/legacy/91.lvs.script +++ b/ctdb/config/events/legacy/91.lvs.script @@ -2,7 +2,7 @@ # script to manage the lvs ip multiplexer for a single public address cluster [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; dirname "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && dirname "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/config/statd-callout b/ctdb/config/statd-callout index 67ed2a5bc62..83fb92eccf0 100755 --- a/ctdb/config/statd-callout +++ b/ctdb/config/statd-callout @@ -17,7 +17,7 @@ # ha-callout = /etc/ctdb/statd-callout [ -n "$CTDB_BASE" ] || \ - CTDB_BASE=$(d=$(dirname "$0") ; cd -P "$d" ; echo "$PWD") + CTDB_BASE=$(d=$(dirname "$0") && cd -P "$d" && echo "$PWD") . "${CTDB_BASE}/functions" diff --git a/ctdb/tests/UNIT/shellcheck/scripts/local.sh b/ctdb/tests/UNIT/shellcheck/scripts/local.sh index a842fd4ae51..07e72c359c2 100644 --- a/ctdb/tests/UNIT/shellcheck/scripts/local.sh +++ b/ctdb/tests/UNIT/shellcheck/scripts/local.sh @@ -25,10 +25,7 @@ shellcheck_test () # SC2162: read without -r will mangle backslashes. # - We never read things with backslashes, # unnecessary churn. - # SC2164: Use cd ... || exit in case cd fails. - # - Most hits are on known directories. Too - # much churn, maybe later. - _excludes="SC1090,SC1091,SC2162,SC2164" + _excludes="SC1090,SC1091,SC2162" unit_test shellcheck --exclude="$_excludes" "$@" else ctdb_test_skip "shellcheck not installed" -- 2.47.3