From: Harald Hoyer Date: Fri, 26 Mar 2021 09:29:34 +0000 (+0100) Subject: fix(fs-lib): shellcheck for modules.d/99fs-lib X-Git-Tag: 054~224 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=82d9fbf193b0d8bd810c6cbee726a1f851e5ee75;p=thirdparty%2Fdracut.git fix(fs-lib): shellcheck for modules.d/99fs-lib --- diff --git a/modules.d/99fs-lib/.shchkdir b/modules.d/99fs-lib/.shchkdir new file mode 100644 index 000000000..e69de29bb diff --git a/modules.d/99fs-lib/fs-lib.sh b/modules.d/99fs-lib/fs-lib.sh index d4179be07..36cd731a1 100755 --- a/modules.d/99fs-lib/fs-lib.sh +++ b/modules.d/99fs-lib/fs-lib.sh @@ -17,13 +17,13 @@ fsck_ask_err() { # inherits: _ret _drv _out fsck_tail() { - [ $_ret -gt 0 ] && warn "$_drv returned with $_ret" - if [ $_ret -ge 4 ]; then + [ "$_ret" -gt 0 ] && warn "$_drv returned with $_ret" + if [ "$_ret" -ge 4 ]; then [ -n "$_out" ] && echo "$_out" | vwarn fsck_ask_err else [ -n "$_out" ] && echo "$_out" | vinfo - [ $_ret -ge 2 ] && fsck_ask_reboot + [ "$_ret" -ge 2 ] && fsck_ask_reboot fi } @@ -102,12 +102,12 @@ fsck_drv_com() { local _out if ! strglobin "$_fop" "-[ynap]"; then - _fop="-a ${_fop}" + _fop="-a${_fop:+ "$_fop"}" fi info "issuing $_drv $_fop $_dev" # we enforce non-interactive run, so $() is fine - _out=$($_drv $_fop "$_dev") + _out=$($_drv "$_fop" "$_dev") _ret=$? fsck_tail @@ -124,6 +124,7 @@ fsck_drv_std() { # note, we don't enforce -a here, thus fsck is being run (in theory) # interactively; otherwise some tool might complain about lack of terminal # (and using -a might not be safe) + # shellcheck disable=SC2086 fsck $_fop "$_dev" > /dev/console 2>&1 _ret=$? fsck_tail @@ -141,14 +142,13 @@ fsck_single() { local FSTAB_FILE=/etc/fstab.empty local _dev="$1" local _fs="${2:-auto}" - local _fsopts="$3" local _fop="$4" local _drv [ $# -lt 2 ] && return 255 # if UUID= marks more than one device, take only the first one - [ -e "$_dev" ] || _dev=$(devnames "$_dev" | while read line || [ -n "$line" ]; do if [ -n "$line" ]; then - echo $line + [ -e "$_dev" ] || _dev=$(devnames "$_dev" | while read -r line || [ -n "$line" ]; do if [ -n "$line" ]; then + echo "$line" break fi; done) [ -e "$_dev" ] || return 255 @@ -195,9 +195,9 @@ det_fs() { local _fs _fs=$(udevadm info --query=env --name="$_dev" \ - | while read line || [ -n "$line" ]; do - if str_starts $line "ID_FS_TYPE="; then - echo ${line#ID_FS_TYPE=} + | while read -r line || [ -n "$line" ]; do + if str_starts "$line" "ID_FS_TYPE="; then + echo "${line#ID_FS_TYPE=}" break fi done) diff --git a/modules.d/99fs-lib/module-setup.sh b/modules.d/99fs-lib/module-setup.sh index d7d659b98..ec1a60630 100755 --- a/modules.d/99fs-lib/module-setup.sh +++ b/modules.d/99fs-lib/module-setup.sh @@ -11,7 +11,7 @@ depends() { } echo_fs_helper() { - local dev=$1 fs=$2 + local fs=$2 case "$fs" in xfs) echo -n " xfs_db xfs_repair xfs_check xfs_metadump " @@ -35,7 +35,7 @@ echo_fs_helper() { } include_fs_helper_modules() { - local dev=$1 fs=$2 + local fs=$2 case "$fs" in xfs | btrfs | ext4) instmods crc32c @@ -62,7 +62,7 @@ install() { local _helpers inst "$moddir/fs-lib.sh" "/lib/fs-lib.sh" - > ${initdir}/etc/fstab.empty + : > "${initdir}"/etc/fstab.empty [[ $nofscks == "yes" ]] && return @@ -84,5 +84,5 @@ install() { inst_simple /etc/e2fsck.conf fi - inst_multiple -o $_helpers fsck + inst_multiple -o "$_helpers" fsck }