提取变量的每个数字并将其作为新变量存储在 bash 中

提取变量的每个数字并将其作为新变量存储在 bash 中

我有一个变量,它是一个从 1 到无穷大的数字。假设这个数字是 40。我需要将 4 存储为变量,将 0 存储为变量。由于这个数字可以超过 2 位数字,假设这个数字是 125。我需要将 1 存储为变量,将 2 存储为变量,将 5 存储为变量。
我该如何用 bash 做到这一点?

答案1

您可以使用计数循环来计算要拆分为数字的值的长度,然后将数字放入数组中,例如:

value=125
arr=()
for ((i = 0; i < ${#value}; i++)); do
    arr+=(${value:$i:1})
done

for x in "${arr[@]}"; do
    echo $x
done

这将打印:

1
2
5

相关内容