我有一组有效字符[0-9a-z_]和一个分配了其中一个字符的变量.我想要做的是能够将该变量增加到集合中的下一个.
如果需要,我可以处理“特殊”情况,它会从’9’增加到’a’和’z’增加到’_’,但我无法弄清楚如何增加字母.
#!/bin/bash y=b echo $y # this shows 'b' y=$((y+1)) echo $y # this shows '1',but I want it to be 'c'
y=b echo "$y" # this shows 'b' y=$(echo "$y" | tr "0-9a-z" "1-9a-z_") echo "$y" # this shows 'c'
请注意,这不处理$y =“_”的情况(不知道你想要什么,并且无论如何它可能需要单独处理),如果$y超过一个字符长,它将“增加“所有这些(即”10“ – >”21“,”09g“ – >”1ah“等).