[英]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.