【发布时间】:2021-12-16 17:27:30
【问题描述】:
我有这个值:123456
还有一个用于修剪最后一位数字的 for 循环:
第一次迭代:123456
第二次迭代:12345
第三次迭代:1234
第四次迭代:123
第 5 次迭代:12
第 6 次迭代:1
我希望将输出存储在一个变量中
像这样:varA = 123456,12345,1234,123,12,1
像这样:varB = '123456','12345','1234','123','12','1'
这是我的代码:
export input=$1
length=${#input}
j="$input"
for (( i=1, j=0; i<=length; i++, j=j+1 )); do
len=$(echo "$((length-$j))")
eachinput=$(echo ${input:0:$len})
echo "each input : "$eachinput #displays each trimmed value
done
【问题讨论】:
-
这可以分为三个“问题”: (1) 在循环之前,将变量初始化为空字符串。 (2) 在每次迭代中,添加相应的数字和逗号。 (3) 循环结束时,变量末尾有一个额外的逗号,必须删除。你到底卡在哪里了?
-
对不起,我不知道怎么做第(2)项,那语法是什么?
-
哦,我明白了!
allinput+="'${input}',"
标签: bash for-loop variables unix scripting