无忧启动论坛

标题: 想知道自定义函数不存在是啥原因呢? [打印本页]

作者: abcd0987    时间: 2019-5-20 09:03
标题: 想知道自定义函数不存在是啥原因呢?
以下是我测试内容,在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
wintoflash 发表于 2019-5-20 10:07
你的函数花括号内最后少一个"fi"

谢谢,改好了




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3