我想将字符串加一,例如 from vda
to vdb
、 from vdb
tovdc
等等。
我过去可以通过执行以下操作来使用其中一种语言来完成此操作:
$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
(最后一个被删除)并将其与移位的字母连接起来。
如果$current
是vdc
,$next
将会是vdd
。