bash 字符串循环从 vda 增加到 vdb

bash 字符串循环从 vda 增加到 vdb

我想将字符串加一,例如 from vdato vdb、 from vdbtovdc等等。

我过去可以通过执行以下操作来使用其中一种语言来完成此操作:

$c="vdb"+1

c == vdc

在那之后。


目前,我有一行vd*从虚拟机获取最后一个磁盘:

current=$(virsh domblklist cic-1_vm | grep vd | awk '{print $1}' | sort -n | tail -n 1)

virsh disk-attach我希望它作为目标选项自动添加到命令中,如下所示:

virsh disk-attach $VM $DISK_FILE $DISK_NAME

所以我可以自动执行$DISK_NAME$current无需预定义的情况或其他......

答案1

letter=${current#??}
letter=$( tr 'a-y' 'b-z' <<<"$letter" )

next="${current%?}$letter"

首先$current通过删除前两个字符来提取最后一个字母。然后它用于tr将字母移动到字母表中的下一个字母。

最后,next分配了前两个字符$current(最后一个被删除)并将其与移位的字母连接起来。

如果$currentvdc$next将会是vdd

相关内容