簡體   English   中英

grub2 如何增加變量

[英]grub2 howto increment variable

grub2 shell 旨在成為像 shell 一樣的簡約 bash。

但是如何在 grub2 中增加一個變量呢?

在 bash 我會這樣做:

var=$((var+1))

或者

((var=var+1))

在 grub2 中,這些調用出現語法錯誤。 如何在 grub2 shell 中實現這一點?

Grub2 沒有內置的算術支持。 如果需要,您需要添加 Lua 支持,有關詳細信息,請參閱此答案

基於此答案(已由其他答案鏈接),以下內容似乎適用於 GRUB 的regexp命令(允許從 0-5 的任何數字遞增,根據需要添加更多 <from>,<to> 對):

num=0
incr="" ; for x in 0,1 1,2 2,3 3,4 4,5 5,6 ; do 
    regexp --set=1:incr "${num},([0-9]+)" "${x}"
    if [ "$incr" != "" ] ; then 
        echo "$num incremented to $incr" 
        num=$incr
        break 
    fi
done

遞減類似的工作(只是翻轉兩個正則表達式部分):

num=6
decr="" ; for x in 0,1 1,2 2,3 3,4 4,5 5,6 ; do 
    regexp --set=1:decr "([0-9]+),${num}" "${x}"
    if [ "$decr" != "" ] ; then 
        echo "$num decremented to $decr" 
        num=$decr
        break 
    fi
done

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM