⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ex63.sh

📁 Shall高级编程
💻 SH
字号:
#!/bin/bash#               factorial#               ---------# Does bash permit recursion?# Well, yes, but...# It's so slow that you gotta have rocks in your head to try it.MAX_ARG=5E_WRONG_ARGS=65E_RANGE_ERR=66if [ -z "$1" ]then  echo "Usage: `basename $0` number"  exit $E_WRONG_ARGSfiif [ "$1" -gt $MAX_ARG ]then  echo "Out of range (5 is maximum)."  #  Let's get real now.  #  If you want greater range than this,  #+ rewrite it in a Real Programming Language.  exit $E_RANGE_ERRfi  fact (){  local number=$1  #  Variable "number" must be declared as local,  #+ otherwise this doesn't work.  if [ "$number" -eq 0 ]  then    factorial=1    # Factorial of 0 = 1.  else    let "decrnum = number - 1"    fact $decrnum  # Recursive function call (the function calls itself).    let "factorial = $number * $?"  fi  return $factorial}fact $1echo "Factorial of $1 is $?."exit 0

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -