abcd0987 发表于 2019-5-20 09:03:10

想知道自定义函数不存在是啥原因呢?

以下是我测试内容,在GRUB2.02中执行提示:无法找到命令‘DecNum’,不知道是啥原因造成的,请各位给予帮助。

function DecNum {
if   [ $1 -le 0]; then return 33;
elif [ $1 -eq 1]; then return 0;   elif [ $1 -eq 2]; then return 1;
elif [ $1 -eq 3]; then return 2;   elif [ $1 -eq 4]; then return 3;
elif [ $1 -eq 5]; then return 4;   elif [ $1 -eq 6]; then return 5;
elif [ $1 -eq 7]; then return 6;   elif [ $1 -eq 8]; then return 7;
elif [ $1 -eq 9]; then return 8;   elif [ $1 -eq 10 ]; then return 9;
elif [ $1 -eq 11 ]; then return 10;elif [ $1 -eq 12 ]; then return 11;
elif [ $1 -eq 13 ]; then return 12;elif [ $1 -eq 14 ]; then return 13;
elif [ $1 -eq 15 ]; then return 14;elif [ $1 -eq 16 ]; then return 15;
elif [ $1 -eq 17 ]; then return 16;elif [ $1 -eq 18 ]; then return 17;
elif [ $1 -eq 19 ]; then return 18;elif [ $1 -eq 20 ]; then return 19;
elif [ $1 -eq 21 ]; then return 20;elif [ $1 -eq 22 ]; then return 21;
elif [ $1 -eq 23 ]; then return 22;elif [ $1 -eq 24 ]; then return 23;
elif [ $1 -eq 25 ]; then return 24;elif [ $1 -eq 26 ]; then return 25;
elif [ $1 -eq 27 ]; then return 26;elif [ $1 -eq 28 ]; then return 27;
elif [ $1 -eq 29 ]; then return 28;elif [ $1 -eq 30 ]; then return 29;
elif [ $1 -eq 31 ]; then return 30;elif [ $1 -ge 32 ]; then return 31;
else return '_';
}

insmod read

menuentry "test decnum" {
set v1=2
echo "set v1=2"
echo "v1=$v1"
DecNum $v1
set v1=$?
echo "v1=$v1"
read
}

abcd0987 发表于 2019-5-30 10:21:36

wintoflash 发表于 2019-5-20 10:07
你的函数花括号内最后少一个"fi"

谢谢,改好了
页: [1]
查看完整版本: 想知道自定义函数不存在是啥原因呢?