我有一组有效字符[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'
Run Code Online (Sandbox Code Playgroud)
y=b
echo "$y" # this shows 'b'
y=$(echo "$y" | tr "0-9a-z" "1-9a-z_")
echo "$y" # this shows 'c'
Run Code Online (Sandbox Code Playgroud)
请注意,这不处理$ y ="_"的情况(不知道你想要什么,并且无论如何它可能需要单独处理),如果$ y超过一个字符长,它将"增加"所有这些(即"10" - >"21","09g" - >"1ah"等).