From dc1e8ff720b0947babd4deaab5556ace2a44c899 Mon Sep 17 00:00:00 2001 From: Suikan <26223147+suikan4github@users.noreply.github.com> Date: Sat, 3 Jul 2021 08:17:36 +0900 Subject: [PATCH] Applied shellcheck --- script/lib/confirmation_common.sh | 20 ++++----- script/lib/para_install_msg_common.sh | 4 +- script/lib/pre_install_common.sh | 58 +++++++++++++-------------- script/ubuntu-kaiten-yaki.sh | 21 +++++----- script/void-kaiten-yaki.sh | 21 +++++----- 5 files changed, 63 insertions(+), 61 deletions(-) diff --git a/script/lib/confirmation_common.sh b/script/lib/confirmation_common.sh index 6082dd1..a9a8130 100644 --- a/script/lib/confirmation_common.sh +++ b/script/lib/confirmation_common.sh @@ -6,7 +6,7 @@ function confirmation_common(){ # Consistency check for the OVERWRITEINSTALL and ERASEALL - if [ ${ERASEALL} -eq 1 -a ${OVERWRITEINSTALL} -eq 1 ] ; then + if [ "${ERASEALL}" -eq 1 ] && [ "${OVERWRITEINSTALL}" -eq 1 ] ; then cat <<- HEREDOC ***** ERROR : Confliction between ERASEALL and OVERWRITEINSTALL ***** ...ERASEALL = ${ERASEALL} @@ -19,7 +19,7 @@ function confirmation_common(){ fi # Sanity check for volume group name - if echo ${VGNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. + if echo "${VGNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume group name. cat <<- HEREDOC ***** ERROR : VGNAME is "${VGNAME}" ***** ..."-" is not allowed in the volume name. @@ -31,7 +31,7 @@ function confirmation_common(){ fi # "-" is found in the volume group name. # Sanity check for root volume name - if echo ${LVROOTNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. + if echo "${LVROOTNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. cat <<- HEREDOC ***** ERROR : LVROOTNAME is "${LVROOTNAME}" ***** ..."-" is not allowed in the volume name. @@ -43,7 +43,7 @@ function confirmation_common(){ fi # "-" is found in the volume name. # Sanity check for swap volume name - if echo ${LVSWAPNAME} | grep "-" -i > /dev/null ; then # "-" is found in the volume name. + if echo "${LVSWAPNAME}" | grep "-" -i > /dev/null ; then # "-" is found in the volume name. cat <<- HEREDOC ***** ERROR : LVSWAPNAME is "${LVSWAPNAME}" ***** ..."-" is not allowed in the volume name. @@ -61,8 +61,8 @@ function confirmation_common(){ "${LVROOTNAME}" uses ${LVROOTSIZE} of the LVM volume group. Are you sure to install? [Y/N] HEREDOC - read YESNO - if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + read -r YESNO + if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then cat <<- HEREDOC ...Installation process terminated.. @@ -71,10 +71,10 @@ function confirmation_common(){ fi # if YES # For sure ask to be sure to erase. - if [ ${ERASEALL} -eq 1 ] ; then + if [ "${ERASEALL}" -eq 1 ] ; then echo "Are you sure you want to erase entire ${DEV}? [Y/N]" - read YESNO - if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + read -r YESNO + if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then cat <<-HEREDOC ...Check your config.sh. The variable ERASEALL is ${ERASEALL}. @@ -95,7 +95,7 @@ function confirmation_common(){ read -sr PASSPHRASE_C # Validate whether both are indentical or not - if [ ${PASSPHRASE} != ${PASSPHRASE_C} ] ; then + if [ "${PASSPHRASE}" != "${PASSPHRASE_C}" ] ; then cat <<-HEREDOC ***** ERROR : Passphrase doesn't match ***** diff --git a/script/lib/para_install_msg_common.sh b/script/lib/para_install_msg_common.sh index 84abf42..56e7167 100644 --- a/script/lib/para_install_msg_common.sh +++ b/script/lib/para_install_msg_common.sh @@ -14,7 +14,7 @@ function para_install_msg_common() { HEREDOC # In the EFI system, add this mapping - if [ ${ISEFI} -eq 1 ] ; then + if [ "${ISEFI}" -eq 1 ] ; then echo "/boot/efi : ${DEV}${EFIPARTITION}" fi @@ -22,7 +22,7 @@ function para_install_msg_common() { echo "/ : /dev/mapper/${VGNAME}-${LVROOTNAME}" # In case of erased storage, add this mapping - if [ ${ERASEALL} -eq 1 ] ; then + if [ "${ERASEALL}" -eq 1 ] ; then echo "swap : /dev/mapper/${VGNAME}-${LVSWAPNAME}" fi diff --git a/script/lib/pre_install_common.sh b/script/lib/pre_install_common.sh index e2606a8..98efaaa 100644 --- a/script/lib/pre_install_common.sh +++ b/script/lib/pre_install_common.sh @@ -7,49 +7,49 @@ function pre_install_common() { # ----- Erase entire disk, create partitions, format them and encrypt the LUKS partition ----- - if [ ${ERASEALL} -eq 1 ] ; then + if [ "${ERASEALL}" -eq 1 ] ; then # Assign specified space and rest of disk to the EFI and LUKS partition, respectively. - if [ ${ISEFI} -eq 1 ] ; then + if [ "${ISEFI}" -eq 1 ] ; then # Zap existing partition table and create new GPT - echo "...Initializing ${DEV} with GPT." + echo "...Initializing \"${DEV}\" with GPT." sgdisk --zap-all "${DEV}" # Create EFI partition and format it - echo "...Creating an EFI partition on ${DEV}." - sgdisk --new=${EFIPARTITION}:0:+${EFISIZE} --change-name=${EFIPARTITION}:"EFI System" --typecode=${EFIPARTITION}:ef00 "${DEV}" + echo "...Creating an EFI partition on \"${DEV}\"." + sgdisk --new="${EFIPARTITION}":0:+"${EFISIZE}" --change-name="${EFIPARTITION}":"EFI System" --typecode="${EFIPARTITION}":ef00 "${DEV}" echo "...Formatting the EFI parttion." mkfs.vfat -F 32 -n EFI-SP "${DEV}${EFIPARTITION}" # Create Linux partition echo "...Creating a Linux partition on ${DEV}." - sgdisk --new=${CRYPTPARTITION}:0:0 --change-name=${CRYPTPARTITION}:"Linux LUKS" --typecode=${CRYPTPARTITION}:8309 "${DEV}" + sgdisk --new="${CRYPTPARTITION}":0:0 --change-name="${CRYPTPARTITION}":"Linux LUKS" --typecode="${CRYPTPARTITION}":8309 "${DEV}" # Then print them sgdisk --print "${DEV}" else # Zap existing partition table - echo "...Erasing partition table of ${DEV}." - dd if=/dev/zero of=${DEV} bs=512 count=1 + echo "...Erasing partition table of \"${DEV}\"." + dd if=/dev/zero of="${DEV}" bs=512 count=1 # Create MBR and allocate max storage for Linux partition echo "...Creating a Linux partition on ${DEV} with MBR." - sfdisk ${DEV} <<- HEREDOC + sfdisk "${DEV}" <<- HEREDOC 2M,,L HEREDOC fi # if EFI firmware # Encrypt the partition to install Linux - echo "...Initializing ${DEV}${CRYPTPARTITION} as crypt partition" + echo "...Initializing \"${DEV}${CRYPTPARTITION}\" as crypt partition" printf %s "${PASSPHRASE}" | cryptsetup luksFormat --type=luks1 --key-file - --batch-mode "${DEV}${CRYPTPARTITION}" fi # if erase all # ----- Open the LUKS partition ----- # Open the crypt partition. - echo "...Opening a crypt partition ${DEV}${CRYPTPARTITION} as \"${CRYPTPARTNAME}\"" - printf %s "${PASSPHRASE}" | cryptsetup open -d - "${DEV}${CRYPTPARTITION}" ${CRYPTPARTNAME} + echo "...Opening a crypt partition \"${DEV}${CRYPTPARTITION}\" as \"${CRYPTPARTNAME}\"" + printf %s "${PASSPHRASE}" | cryptsetup open -d - "${DEV}${CRYPTPARTITION}" "${CRYPTPARTNAME}" # Check whether successful open. If mapped, it is successful. - if [ ! -e /dev/mapper/${CRYPTPARTNAME} ] ; then + if [ ! -e /dev/mapper/"${CRYPTPARTNAME}" ] ; then cat <<- HEREDOC - ***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on ${DEV}${CRYPTPARTITION}. ***** + ***** ERROR : Cannot open LUKS volume "${CRYPTPARTNAME}" on "${DEV}${CRYPTPARTITION}". ***** ...Check passphrase and your config.txt ...Installation process terminated.. @@ -59,38 +59,38 @@ function pre_install_common() { # ----- Configure the LVM in LUKS volume ----- # Check volume group ${VGNAME} exist or not - if vgdisplay -s ${VGNAME} &> /dev/null ; then # if exist - echo "...Volume group ${VGNAME} already exist. Skipped to create. No problem." + if vgdisplay -s "${VGNAME}" &> /dev/null ; then # if exist + echo "...Volume group \"${VGNAME}\" already exist. Skipped to create. No problem." echo "...Activating all logical volumes in volume group \"${VGNAME}\"." vgchange -ay else echo "...Initializing a physical volume on \"${CRYPTPARTNAME}\"" - pvcreate /dev/mapper/${CRYPTPARTNAME} + pvcreate /dev/mapper/"${CRYPTPARTNAME}" echo "...And then creating Volume group \"${VGNAME}\"." - vgcreate ${VGNAME} /dev/mapper/${CRYPTPARTNAME} + vgcreate "${VGNAME}" /dev/mapper/"${CRYPTPARTNAME}" fi # if /dev/volume-groupt exist # Create a SWAP Logical Volume on VG, if it doesn't exist - if [ -e /dev/mapper/${VGNAME}-${LVSWAPNAME} ] ; then + if [ -e /dev/mapper/"${VGNAME}"-"${LVSWAPNAME}" ] ; then echo "...Swap volume already exist. Skipped to create. No problem." else echo "...Creating logical volume \"${LVSWAPNAME}\" on \"${VGNAME}\"." - lvcreate -L ${LVSWAPSIZE} -n ${LVSWAPNAME} ${VGNAME} + lvcreate -L "${LVSWAPSIZE}" -n "${LVSWAPNAME}" "${VGNAME}" fi # if /dev/mapper/swap volume already exit. # Create a ROOT Logical Volume on VG. - if [ -e /dev/mapper/${VGNAME}-${LVROOTNAME} ] ; then # exist - if [ ${OVERWRITEINSTALL} -eq 1 ] ; then # exist and overwrite install - echo "...Logical volume "${VGNAME}-${LVROOTNAME}" already exists. OK." + if [ -e /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" ] ; then # exist + if [ "${OVERWRITEINSTALL}" -eq 1 ] ; then # exist and overwrite install + echo "...Logical volume \"${VGNAME}-${LVROOTNAME}\" already exists. OK." else # exist and not overwriteinstall cat <<- HEREDOC ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" already exists. ***** ...Check LVROOTNAME environment variable in your config.txt. HEREDOC echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." - vgchange -a n ${VGNAME} + vgchange -a n "${VGNAME}" echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." - cryptsetup close ${CRYPTPARTNAME} + cryptsetup close "${CRYPTPARTNAME}" cat <<- HEREDOC ...Installation process terminated.. @@ -98,15 +98,15 @@ function pre_install_common() { return 1 # with error status fi else # not exsit - if [ ${OVERWRITEINSTALL} -eq 1 ] ; then + if [ "${OVERWRITEINSTALL}" -eq 1 ] ; then cat <<- HEREDOC ***** ERROR : Logical volume "${VGNAME}-${LVROOTNAME}" doesn't exist while overwrite install. ***** ...Check consistency of your config.txt. HEREDOC echo "...Deactivate all logical volumes in volume group \"${VGNAME}\"." - vgchange -a n ${VGNAME} + vgchange -a n "${VGNAME}" echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." - cryptsetup close ${CRYPTPARTNAME} + cryptsetup close "${CRYPTPARTNAME}" cat <<- HEREDOC ...Installation process terminated.. @@ -114,7 +114,7 @@ function pre_install_common() { return 1 # with error status else # not exist and not overwrite install echo "...Creating logical volume \"${LVROOTNAME}\" on \"${VGNAME}\"." - lvcreate -l ${LVROOTSIZE} -n ${LVROOTNAME} ${VGNAME} + lvcreate -l "${LVROOTSIZE}" -n "${LVROOTNAME}" "${VGNAME}" fi fi diff --git a/script/ubuntu-kaiten-yaki.sh b/script/ubuntu-kaiten-yaki.sh index 9cf0ff8..716af88 100644 --- a/script/ubuntu-kaiten-yaki.sh +++ b/script/ubuntu-kaiten-yaki.sh @@ -1,6 +1,6 @@ #!/bin/bash -u -function main() { + # shellcheck disable=SC1091 # Load configuration parameter source config.sh @@ -9,6 +9,7 @@ function main() { source lib/pre_install_common.sh source lib/para_install_msg_common.sh +function main() { # This is the mount point of the install target. export TARGETMOUNTPOINT="/target" @@ -22,8 +23,8 @@ function main() { This system seems to be not Ubuntu, while this script is dediated to the Ubuntu. Are you sure you want to run this script? [Y/N] HEREDOC - read YESNO - if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + read -r YESNO + if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then cat <<- HEREDOC ...Installation process terminated.. @@ -72,7 +73,7 @@ function main() { HEREDOC # waitfor a console input - read dummy_var + read -r # Start Ubiquity installer ubiquity & @@ -106,7 +107,7 @@ function post_install() { ## Mount the target file system # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." - mount /dev/mapper/${VGNAME}-${LVROOTNAME} ${TARGETMOUNTPOINT} + mount /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" ${TARGETMOUNTPOINT} # And mount other directories echo "...Mounting all other dirs." @@ -135,7 +136,7 @@ function post_install() { # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. echo "...Adding LUKS volume info to /etc/crypttab." - echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab + echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value "${DEV}${CRYPTPARTITION}") /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab # Putting key file into the ramfs initial image echo "...Registering key file to the ramfs" @@ -178,14 +179,14 @@ function grub_check_and_modify() { # Check if installer still exist if ! ps $INSTALLER_PID > /dev/null ; then # If not exists echo "***** ERROR : The GUI/TUI installer terminated unexpectedly. *****" - if [ ${OVERWRITEINSTALL} -eq 0 ] ; then # If not over install, volume is new. So delete it + if [ "${OVERWRITEINSTALL}" -eq 0 ] ; then # If not over install, volume is new. So delete it echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." - lvremove -f /dev/mapper/${VGNAME}-${LVROOTNAME} + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" fi echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." - vgchange -a n ${VGNAME} + vgchange -a n "${VGNAME}" echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." - cryptsetup close ${CRYPTPARTNAME} + cryptsetup close "${CRYPTPARTNAME}" cat <<-HEREDOC ...The new logical volume has been deleted. You can retry Kaiten-yaki again. diff --git a/script/void-kaiten-yaki.sh b/script/void-kaiten-yaki.sh index cc5b39a..a22beb5 100644 --- a/script/void-kaiten-yaki.sh +++ b/script/void-kaiten-yaki.sh @@ -1,6 +1,6 @@ #!/bin/bash -u -function main() { + # shellcheck disable=SC1091 # Load configuration parameter source config.sh @@ -9,6 +9,7 @@ function main() { source lib/pre_install_common.sh source lib/para_install_msg_common.sh +function main() { # This is the mount point of the install target. export TARGETMOUNTPOINT="/mnt/target" @@ -22,8 +23,8 @@ function main() { This system seems to be not Void Linux, while this script is dediated to the Void Linux. Are you sure you want to run this script for installation? [Y/N] HEREDOC - read YESNO - if [ ${YESNO} != "Y" -a ${YESNO} != "y" ] ; then + read -r YESNO + if [ "${YESNO}" != "Y" ] && [ "${YESNO}" != "y" ] ; then cat <<- HEREDOC ...Installation process terminated.. @@ -81,7 +82,7 @@ function main() { HEREDOC # waitfor a console input - read dummy_var + read -r # Start the background target/etc/default/grub cheker. # The definition of this function is down below. @@ -98,14 +99,14 @@ function main() { # If exist, the grub was not modifyed -> void-installer termianted unexpectedly echo "***** ERROR : The GUI/TUI installer terminated unexpectedly. *****" - if [ ${OVERWRITEINSTALL} -eq 0 ] ; then # If not over install, volume is new. So delete it + if [ "${OVERWRITEINSTALL}" -eq 0 ] ; then # If not over install, volume is new. So delete it echo "...Deleting the new logical volume \"${VGNAME}-${LVROOTNAME}\"." - lvremove -f /dev/mapper/${VGNAME}-${LVROOTNAME} + lvremove -f /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" fi echo "...Deactivating all logical volumes in volume group \"${VGNAME}\"." - vgchange -a n ${VGNAME} + vgchange -a n "${VGNAME}" echo "...Closing LUKS volume \"${CRYPTPARTNAME}\"." - cryptsetup close ${CRYPTPARTNAME} + cryptsetup close "${CRYPTPARTNAME}" cat <<-HEREDOC ...The new logical volume has been deleted. You can retry Kaiten-yaki again. @@ -133,7 +134,7 @@ function post_install() { ## Mount the target file system # ${TARGETMOUNTPOINT} is created by the GUI/TUI installer echo "...Mounting /dev/mapper/${VGNAME}-${LVROOTNAME} on ${TARGETMOUNTPOINT}." - mount /dev/mapper/${VGNAME}-${LVROOTNAME} ${TARGETMOUNTPOINT} + mount /dev/mapper/"${VGNAME}"-"${LVROOTNAME}" ${TARGETMOUNTPOINT} # And mount other directories echo "...Mounting all other dirs." @@ -162,7 +163,7 @@ function post_install() { # Add the LUKS volume information to /etc/crypttab to decrypt by kernel. echo "...Adding LUKS volume info to /etc/crypttab." - echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value ${DEV}${CRYPTPARTITION}) /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab + echo "${CRYPTPARTNAME} UUID=$(blkid -s UUID -o value "${DEV}""${CRYPTPARTITION}") /etc/luks/boot_os.keyfile luks,discard" >> /etc/crypttab # Putting key file into the ramfs initial image echo "...Registering key file to the ramfs"