0

我想创建一个菜单,该菜单采用文件夹的 ls 输出并创建匹配的菜单选项和描述。

这不会出错,但也不会给我菜单。

我基本上想要这个在菜单中:array0 array0 array1 array1 array2 array2

#!/bin/bash

lsRes=`ls`
IFS=', ' read -r -a array <<< ${lsRes}
choices=$(whiptail --title "Sizes" \
        --menu "Choose a size:" \
        25 78 12 \
        "'${array[@]}' '${array[@]}'" \
        3>&1 1>&2 2>&3)

也试过这个:

#!/bin/bash


lsRes=`ls`
IFS=', ' read -r -a array <<< ${lsRes}
declare -a args=( --title "Sizes" --menu "Choose a size:" 25 78 12 --)
for item in "${array[@]}"; do
    args+=("${item}" "${item}")
done
choices=$(whiptail "${args[@]}")
4

1 回答 1

0

你不能一步安全地做到这一点。相反,您可以一次建立一个论点。

declare -a args=(
    --title "Sizes"
    --menu "Choose a size:" 25 78 12 --
)
for item in "${array[@]}"; do
    args+=("$item" "$item")
done
choices=$(whiptail "${args[@]}")
于 2020-10-30T19:13:21.003 回答