【发布时间】:2018-04-08 19:45:42
【问题描述】:
我正在尝试将一个列表添加到已经包含元素的 bash 数组的末尾,该数组包含 {a..z} 并且我想将 {0..9} 添加到该列表的末尾,我'已经尝试过 += 但这不起作用它在我的情况下清除了数组。
while [ ! $# -eq 0 ] # Argument selector for CLI input
do
case "$1" in
--num | -n)
chars=( {0..9} )
;;
--char | -c)
chars=( {a..z} )
;;
--upper-char | -C)
chars=( {A..Z} )
;;
--help | -h)
echo "Type the program name with an argument -n for numbers -c for lowercase char and -C for uppercase"
exit
;;
esac
case "$2" in
--num | -n)
chars[${#chars[@]}]=( {0..9} )
;;
--char | -c
chars[${#chars[@]}]=( {a..z} )
;;
--upper-char | -C)
chars[${#chars[@]}]=( {A..Z} )
;;
esac
shift
done
一旦我弄清楚如何附加列表,我希望做第三个 case 语句,最好的情况是每次我想添加项目时都不必对数组进行硬编码。
【问题讨论】: