#!/bin/bash # SPDX-Version: 3.0 # SPDX-CreationInfo: 2025-06-17; WEIDNER, Marc S.; # SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.installer.git # SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; # SPDX-FileType: SOURCE # SPDX-License-Identifier: EUPL-1.2 OR LicenseRef-CCLA-1.0 # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework. # SPDX-PackageName: CISS.debian.installer # SPDX-Security-Contact: security@coresecret.eu guard_sourcing ####################################### # Specify the network interface card (NIC) interactively for setup. # Globals: # DIR_TMP # Arguments: # None # Returns: # 0: on success ####################################### check_nic() { # shellcheck disable=SC2312 ip -o link show | awk -F': ' '{print $2}' | sed 's!lo!!' | sed '/^$/d' | awk '{$1=$1};1' >| "${DIR_TMP}nic.tmp" declare var_counter=1 declare var_line="" declare var_nic="" declare var_radiolist="" while IFS= read -r var_line; do var_radiolist="${var_radiolist} ${var_line} ${var_counter} on " ((var_counter++)) done < "${DIR_TMP}nic.tmp" # shellcheck disable=SC2086 disable=SC2248 var_nic=$(dialog --ascii-lines --clear --backtitle "Specify the NIC for setup" --radiolist "NIC available" 0 0 ${var_counter} ${var_radiolist} 3>&1 1>&2 2>&3) clear do_log "info" "file_only" "1030() You have selected: '${var_nic}' - proceeding with setup." guard_dir && return 0 } ### Prevents accidental 'unset -f'. # shellcheck disable=SC2034 readonly -f check_nic # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh