70个经典的 Shell 脚本面试问题

70个经典的 Shell 脚本面试问题
70个经典的 Shell 脚本面试问题

1) 如何向脚本传递参数?

例子 : 显示文件名称脚本

2) 如何在脚本中使用参数?

第一个参数: $1,第二个参数: $2

例子: 脚本会复制文件(arg1) 到目标地址(arg2)

3) 如何计算传递进来的参数?

4) 如何在脚本中获取脚本名称?

5) 如何检查之前的命令是否运行成功?

6) 如何获取文件的最后一行?

7) 如何获取文件的第一行?

8) 如何获取一个文件每一行的第三个元素?

9) 假如文件中每行第一个元素是FIND,如何获取第二个元素

10) 如何调试bash 脚本

将-xv 参数加到#!/bin/bash 后

例子:

11) 举例如何写一个函数?

12) 如何向连接两个字符串?

输出

13) 如何进行两个整数相加?

输出

14) 如何检查文件系统中是否存在某个文件?

15) 写出shell 脚本中所有循环语法?

for 循环:

while 循环:

until 循环:

16) 每个脚本开始的#!/bin/sh 或#!/bin/bash 表示什么意思?

这一行说明要使用的shell。#!/bin/bash 表示脚本使用/bin/bash。对于python 脚本,就是#!/usr/bin/python。(LCTT译注:这一行称之为释伴行。)

17) 如何获取文本文件的第10 行?

18) bash 脚本文件的第一个符号是什么

19) 命令:[ -z "" ] && echo 0 || echo 1 的输出是什么

20) 命令“export” 有什么用?

使变量在子shell 中可用。

21) 如何在后台运行脚本?

在脚本后面添加“&”。

22) “chmod 500 script” 做什么?

使脚本所有者拥有可执行权限。

23) “>” 做什么?

重定向输出流到文件或另一个流。

24) & 和&& 有什么区别

?& –希望脚本在后台运行的时候使用它

?&& –当前一个脚本成功完成才执行后面的命令/脚本的时候使用它

25) 什么时候要在[ condition ] 之前使用“if” ?

当条件满足时需要运行多条命令的时候。

26) 命令:name=John && echo …My name is $name? 的输出是什么

27) bash shell 脚本中哪个符号用于注释?

28) 命令: echo ${new:-variable} 的输出是什么

29) … 和” 引号有什么区别?

?… –当我们不希望把变量转换为值的时候使用它。

?” –会计算所有变量的值并用值代替。

30) 如何在脚本文件中重定向标准输出和标准错误流到log.txt 文件? 在脚本文件中添加“exec >log.txt 2>&1″ 命令。

31) 如何只用echo 命令获取字符串变量的一部分?

例子:

32) 如果给定字符串variable=”User:123:321:/home/dir”,如何只用echo 命令获取home_dir ?

33) 如何从上面的字符串中获取“User” ?

34) 如何使用awk 列出UID 小于100 的用户?

35) 写程序为用户计算主组数目并显示次数和组名

36) 如何在bash shell 中更改标准的域分隔符为“:” ?

37) 如何获取变量长度?

38) 如何打印变量的最后5 个字符?

39) ${variable:-10} 和${variable: -10} 有什么区别?

?${variable:-10} –如果之前没有给variable 赋值则输出10

?${variable: -10} –输出variable 的最后10 个字符

40) 如何只用echo 命令替换字符串的一部分?

41) 哪个命令将命令替换为大写?

42) 如何计算本地用户数目?

wc -l /etc/passwd|cut -d” ” -f1 或者cat /etc/passwd|wc -l

43) 不用wc 命令如何计算字符串中的单词数目?

44) “export $variable” 或“export variable” 哪个正确?

45) 如何列出第二个字母是a 或b 的文件?

46) 如何将整数a 加到b 并赋值给c ?

47) 如何去除字符串中的所有空格?

48) 重写这个命令,将输出变量转换为复数: item=”car”; echo “I like $item” ?

49) 写出输出数字0 到100 中3 的倍数(0 3 6 9 …)的命令?

50) 如何打印传递给脚本的所有参数?

51) [ $a == $b ] 和[ $a -eq $b ] 有什么区别

?[ $a == $b ] –用于字符串比较

?[ $a -eq $b ] –用于数字比较

52) = 和== 有什么区别

?= –用于为变量复制

?== –用于字符串比较

53) 写出测试$a 是否大于12 的命令?

54) 写出测试$b 是否小于等于12 的命令?

55) 如何检查字符串是否以字母“abc” 开头?

56) [[ $string == abc* ]] 和[[ $string == "abc*" ]] 有什么区别?[[ $string == abc* ]] –检查字符串是否以字母abc 开头

?[[ $string == "abc" ]] –检查字符串是否完全等于abc

57) 如何列出以ab 或xy 开头的用户名?

58) bash 中$! 表示什么意思?

后台最近执行命令的PID.

59) $? 表示什么意思?

前台最近命令的结束状态。

60) 如何输出当前shell 的PID ?

61) 如何获取传递给脚本的参数数目?

(LCTT 译注:和第3题重复了。)

62) $* 和$@ 有什么区别

?$* –以一个字符串形式输出所有传递到脚本的参数

?$@ –以$IFS 为分隔符列出所有传递到脚本中的参数63) 如何在bash 中定义数组?

64) 如何打印数组的第一个元素?

65) 如何打印数组的所有元素?

66) 如何输出所有数组索引?

67) 如何移除数组中索引为2 的元素?

68) 如何在数组中添加id 为333 的元素?

69) shell 脚本如何获取输入的值?

a) 通过参数

b) 通过read 命令

70) 在脚本中如何使用“expect” ?

Shell 经典实例

Thizlinux 系统教程 Shell 经典实例 ----------------Milo 经典小shell 1 列目录树的shell 脚本如下: #!/bin/sh # dtree: Usage: dtree [any directory] dir=${1:-.} (cd $dir; pwd) find $dir -type d -print | sort -f | sed -e "s,^$1,," -e "/^$/d" -e "s,[^/]*/([^/]*)$,`----1," -e "s,[^/]*/,| ,g" 2 while中使用read (file是一个文件) cat file | while read line do echo $line echo " :: Please input any key(s):c" str4read="" while true do chr4read=`dd if=/dev/tty bs=1 count=1 2>/dev/null` str4read=$str4read$chr4read if [ "$chr4read" = "" ] ;then break; fi

done echo " :: |$str4read|" done 3 将多个空格替换为字符 sed 's/[ ][ ]*/ /g' 如果空格与tab共存时用 sed -e 's/[[:space:]][[:space:]]*/ /g' filename 4用脚本实现分割文件 #!/bin/bash if [ $# -ne 2 ]; then echo 'Usage: split file size(in bytes)' exit fi file=$1 size=$2 if [ ! -f $file ]; then echo "$file doesn't exist" exit fi

linux脚本实例

1.写一个脚本,执行后,打印一行提示“Please input a number:",要求用户输入数值,然后打印出该数值,然后再次要求用户输入数值。直到用户输入"end"停止。 #!/bin/sh unset var while [ "$var" != "end" ] do echo -n "please input a number: " read var if [ "$var" = "end" ] then break fi echo "var is $var" done 2.写一个脚本,可以根据参数文件名,以正确的参数调用tar来解压缩tar.gz或tar.bz2文件。 #!/bin/sh case ${1##*.tar.} in bz2) tar jxvf $1 ;; gz) tar zxvf $1 ;; *) echo "wrong file type" esac 3.写一个脚本以方便用户查询rpm的相关信息。这个脚本首先提示用户选择查询依据,比如文件名,包名,全部等。然后提示用户选择查询信息,比如包名,包里所包含的所有文件,包的信息等。然后询问是否继续查询,是则循环刚才的过程,否则退出。 #!/bin/sh RPM=/bin/rpm option="-q" while true do echo "what to query?" select var in "All" "file" "package name" do case $var in All) option=$option"a" break ;; file) echo -n "please input file name: "

经典shell 脚本实例

Linux shell 脚本实例 1. 写一个脚本,利用循环计算10的阶乘#!/bin/sh factorial=1 for a in `seq 1 10` do factorial=`expr $factorial \* $a` done echo "10! = $factorial" 2. 写一个脚本,执行后,打印一行提示“Please input a number:",要求用户输入数值,然后打印出该数值,然后再次要求用户输入数值。直到用户输入"end"停止。#!/bin/sh unset var while [ "$var" != "end" ] do echo -n "please input a number: " read var if [ "$var" = "end" ] then break fi echo "var is $var" done ////////////////////////////////////////// #!/bin/sh unset var while [ "$var" != "end" ] do echo -n "please input a number: " read var if [ "$var" = "end" ] then break fi echo "var is $var" done 3. 写一个脚本,利用循环和continue关键字,计算100以内能被3整除的数之和 4.一个函数,利用shift计算所有参数乘积,假设参数均为整数 #! /bin/sh result=1 while [ $# -gt 0 ] do result=`expr $result * $1` shift done echo $result 5.写一个脚本,可以根据参数文件名,以正确的参数调用tar来解压缩tar.gz或tar.bz2文件。#!/bin/shcase ${1##*.tar.} in bz2) tar jxvf $1 ;; gz) tar zxvf $1 ;; *) echo "wrong file type"esac6.写一个脚本以方便用户查询rpm的相关信息。这个脚本首先提示用户选择查询依据,比如文件名,包名,全部等。然后提示用户选择查询信息,比如包名,包里所包含的所有文件,包的信息等。然后询问是否继续查询,是则循环刚才的过程,否则退出。

Shell脚本编程详解-吐血共享

第12章 Shell 脚本编程 ● Shell 命令行的运行 ● 编写、修改权限和执行Shell 程序的步骤 ● 在Shell 程序中使用参数和变量 ● 表达式比较、循环结构语句和条件结构语句 ● 在Shell 程序中使用函数和调用其他Shell 程序 12-1 Shell 命令行书写规则 ◆ Shell 命令行的书写规则 对Shell 命令行基本功能的理解有助于编写更好的Shell 程序,在执行Shell 命令时多个命令可以在一个命令行上运行,但此时要使用分号(;)分隔命令,例如: [root@localhost root]# ls a* -l;free;df 长Shell 命令行可以使用反斜线字符(\)在命令行上扩充,例如: [root@localhost root]# echo “ this is \ >long command ” This is long command 注意: “>”符号是自动产生的,而不是输入的。 12-2 编写/修改权限及执行Shell 程序的步骤 ◆ 编写Shell 程序 ◆ 执行Shell 程序 Shell 程序有很多类似C 语言和其他程序设计语言的特征,但是又没有程序语言那样复杂。Shell 程序是指放在一个文件中的一系列Linux 命令和实用程序。在执行的时候,通过Linux 操作系统一个接一个地解释和执行每条命令。首先,来编写第一个Shell 程序,从中学习Shell 程序的编写、修改权限、执行过程。

12-2-1 编辑Shell程序 编辑一个内容如下的源程序,保存文件名为date,可将其存放在目录/bin下。 [root@localhost bin]#vi date #! /bin/sh echo “Mr.$USER,Today is:” echo &date “+%B%d%A” echo “Wish you a lucky day !” 注意: #! /bin/sh通知采用Bash解释。如果在echo语句中执行Shell命令date,则需要在date 命令前加符号“&”,其中%B%d%A为输入格式控制符。 12-2-2 建立可执行程序 编辑完该文件之后不能立即执行该文件,需给文件设置可执行程序权限。使用如下命令。[root@localhost bin]#chmod +x date 12-2-3 执行Shell程序 执行Shell程序有下面三种方法: 方法一: [root@localhost bin]#./ date Mr.root,Today is: 二月 06 星期二 Wish you a lucky day ! 方法二: 另一种执行date的方法就是把它作为一个参数传递给Shell命令: [root@localhost bin]# Bash date Mr.root,Today is: 二月 06 星期二 Wish you a lucky day ! 方法三: 为了在任何目录都可以编译和执行Shell所编写的程序,即把/bin的这个目录添加到整个环境变量中。 具体操作如下: [root@localhost root]#export PATH=/bin:$PATH [root@localhost bin]# date Mr.root,Today is: 二月 06 星期二 Wish you a lucky day !

Shell脚本-Demo-29例

【例子:001】判断输入为数字,字符或其他 1.#!/bin/bash 2.read -p "Enter a number or string here:" input 3.case $input in 4. [0-9]) echo -e "Good job, Your input is a numberic! \n" ;; 5.[a-zA-Z]) echo -e "Good job, Your input is a character! \n" ;; 6. *) echo -e "Your input is wrong, input again! \n" ;; 7.esac 【例子:002】求平均数 1.#!/bin/bash 2.# Calculate the average of a series of numbers. 3.SCORE="0" 4.AVERAGE="0" 5.SUM="0" 6.NUM="0" 7.while true; do 8. echo -n "Enter your score [0-100%] ('q' for quit): "; read SCORE; 9. if (("$SCORE" < "0")) || (("$SCORE" > "100")); then 10. echo "Be serious. Common, try again: " 11. elif [ "$SCORE" == "q" ]; then 12. echo "Average rating: $AVERAGE%." 13. break 14. else 15. SUM=$[$SUM + $SCORE] 16. NUM=$[$NUM + 1] 17. AVERAGE=$[$SUM / $NUM] 18. fi 19.done 20.echo "Exiting." 【例子:003】自减输出 1.[scriptname: doit.sh] 2.while (( $# > 0 )) 3.do 4. echo $* 5. shift 6.done 7./> ./doit.sh a b c d e 8. a b c d e 9. b c d e 10.c d e

LinuxShell脚本编程实例

#! /bin/sh echo "Current command is $0" echo "The first parameter is $1" echo "The second parameter is $2" echo "The third parameter is $3" echo "Total of parameters if $#" echo "Current PID is $$" #!/bin/bash times=0 until [ "$times" = 3 ]; do echo "I love linux." sleep 2 times=`expr $times + 1` done #!/bin/bash # menu shell script. samli 2004.4.19 until echo "List Directory..........1" echo "Change Directory........2" echo "Edit File...............3" echo "Remove File.............4" echo "Exit Menu...............5" read choice test $choice = 5 do case $choice in 1) ls;; 2) echo "enter target directory:" read dir cd $dir ;; 3) echo "enter file name:" read file vi $file ;; 4) echo "enter file name:" read file rm $file ;; 5) echo "Goodbye"

Shell脚本例子集合

# vi xx.sh 退出并保存 # chmod +x xx.sh # ./xx.sh -2.调试脚本的方法 # bash -x xx.sh就可以调试了. -1.配置secureCRT的设置(我用的是6.2.3 build313版本,汉化版) 选项->会话选项(S)...->终端->仿真->终端(T)->把VT100改成Xterm->点中ANSI 颜色(A)和使用颜色方案(U)复选框. 这样就有颜色显示了. 选项->会话选项(S)...->终端->外观->字符编码(H)->从Default变到UTF-8. 这样就有中文显示了. 1.写一个脚本,执行后,打印一行提示"Please input a number:",要求用户输入数值,然后打印出该数值,然后再次要求用户输入数值.直到用户输入"end"停止. # vi show_var.sh 脚本内容: #!/bin/bash unset var while [ "$var" != "end" ] do echo -n "please input a number: " read var if [ "$var" = "end" ] then break fi echo "var is $var" done 命令保存后退出,并执行: # chmod +x show_var.sh # ./show_var.sh please input a number: 1 var is 1 please input a number: s var is s please input a number: end # 2.写一个脚本,测试位置参数

LinuxShell脚本编程实例

1、打印位置变量的个数和位置变量的内容 #! /bin/sh echo "Current command is $0" echo "The first parameter is $1" echo "The second parameter is $2" echo "The third parameter is $3" echo "Total of parameters if $#" echo "Current PID is $$" 2、循环打印“I love linux”3次 #!/bin/bash times=0 until [ "$times" = 3 ]; do echo "I love linux." sleep 2 times=`expr $times + 1` done 3、完成菜单程序的功能: 1)列出当前的文件 2)更改路径 3)编辑文件 4)删除文件 #!/bin/bash # menu shell script. until echo "List Directory..........1" echo "Change Directory........2" echo "Edit File...............3" echo "Remove File.............4" echo "Exit Menu...............5" read choice test $choice = 5 do case $choice in 1) ls;; 2) echo "enter target directory:" read dir cd $dir ;; 3) echo "enter file name:" read file vi $file

linux下简单shell脚本例子

一些自己练习时所写的简单shell脚本 (centos 6.3)【复制粘贴时请注意空格、引号、分号等格式】1、使用for循环、while循环、until循环计算100以内所有偶数的和 for循环: #!/bin/sh Sum=0 for i in `seq 0 2 100` #也可用for i in $(seq 0 2 100) #或者for (( i=0;i<=100;i+=2 )) do let “Sum+=i” done echo “SUM=$Sum” exit 0 while循环: #!/bin/sh Sum=0 i=0 while [ “$i”–le 100 ] do let “Sum+=i” let “i+=2” done echo “SUM=$Sum” exit 0 until循环: #!/bin/sh Sum=0 i=0 until [ “$i”–gt 100 ] do let “Sum+=i” let “i+=2” done echo “SUM=$Sum” exit 0 2、通过循环实现从1开始叠加,直到和的结果大于2000为止(使用break循环控制符) #!/bin/sh Sum=0 for (( i=1;;i++) do let “Sum+=i” if [ “$Sum”–gt 2000 ] then echo “i=$i” echo “SUM=$Sum” break

done exit 0 3、找出100以内所有能被3整除的数,每行显示8个数,然后换行显示#!/bin/sh times=0 #循环次数 for i in $(seq 1 100) do let “temp=i%3” let “times++” if [ “$temp”–eq 0 ] then printf “$i” let “a=times%8” if [ “$a”–eq 0 ] then printf “\n” fi fi done printf “\n” exit 0 4、打印九九乘法表 #!/bin/sh for (( i=1;i<=9;i++) do for (( j=1;j<=i;j++ )) do let “temp=i*j” echo –n “$j*$i=$temp “ done echo “” done exit 0 5、显示颜色类型,并让用户选择(使用select结构) #!/bin/sh echo “What is your favorite color?” select color in “red”“blue”“green”“white”“black” do break done echo “You have selected $color.” exit 0 6、显示当前工作目录下的文件数和目录数 #!/bin/sh Number() { let “dir_number=0” let “file_number=0”

Shell脚本抽取实例

Shell脚本抽取实例 #!/usr/bin/ksh 1. 应用地址变量引用 myself="backup_chncm_file.sh" logfile="${MCB_HOME}/${MCB_APPID}/var/log/${procname}.log" 2. case实例 case ${MCB_APPID} in chs) ic_dir="/opt/mcb/chs/data/*/inroam/incoming" arch_dir="/opt/mcb/chs/back" file_pattern="[AC][CD]?????CHNCM*" db_user="chsdba" ;; ops) ic_dir="/opt/mcb/ops/data/incoming/ics" arch_dir="/opt/mcb/ops/arch/incoming/ics" file_pattern="[AC][CD]?????CHNCM*" db_user="iogsmdba" ;; *) MCB_APPID=dps1 echo "MCB_APPID is not in chs/ops, please check!" exit 1 ;; esac 3. 判断参数个数实例 if [ $# -lt 1 ];then echo "SERIOUS:DBMSG() need 1 argument: DEBUGMSG" return 1 fi 4. 判断结果实例 if [ $? -ne 0 ];then message="query carriers table failed! db_user=${db_user} db_passwd=${db_passwd} db_sid=int1"

shell的十个例子

1、用shell脚本批量建立Linux用户 实现要求:创建用户student1到student50,指定组为student组!而且每个用户需要设定一个不同的密码! 脚本实现如下: #!/bin/bash for i in `seq 1 50` do useradd -G student student$i ; echo student$i | passwd student$i --stdin; done 【说明:Linux下Passwd有参数 --stdin This option is used to indicate that passwd should read the new password from standard input, which can be a pipe. 所以linux下自动改变用户密码的办法就是: Echo 密码|passwd –stdin 用户名 】 -------------------设置相同的密码------------------------ #!/bin/bash password="123456" for USER in user1 user2 user3 do useradd -m $USER echo -e "${password}\n${password}" | passwd $USER done 【说明: echo -n 不换行输出:

$echo -n "123" $echo "456" 最终输出 123456 而不是 123 456 echo -e 处理特殊字符: \n 换行且光标移至行首】 ok,就这么一个简单的脚本,就可以再系统里批量生成账号了。而且密码跟账号的名字一样。 这就是for do done语句用法。 2、编写shell脚本,将/usr/local/test目录下大于100k的文件转移到/tmp 目录下: #!/bin/bash for FILE in `ls /usr/local/test` do if [ -f $FILE ] ; then if [ `ls -l $FILE | awk `{print $5}` -gt 100000 ] ; then mv $FILE /tmp/ fi fi done ================ #!/bin/bash for FileName in `ls -l /usr/local/test | awk '$5>102400' {print $9}`

linux Shell(脚本)编程入门 实例讲解详解

linux Shell(脚本)编程入门实例讲解详解 为什么要进行shell编程 在Linux系统中,虽然有各种各样的图形化接口工具,但是sell仍然是一个非常灵活的工具。Shell不仅仅是命令的收集,而且是一门非常棒的编程语言。您可以通过使用shell使大量的任务自动化,shell特别擅长系统管理任务,尤其适合那些易用性、可维护性和便携性比效率更重要的任务。 下面,让我们一起来看看shell是如何工作的: 建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用。所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在bash 的大姐,bourne shell中运行)。 如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit、kedit、emacs、vi等来编写我们的shell程序。程序必须以下面的行开始(必须方在文件的第一行): 符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。当编辑好脚本时,如果要执行该脚本,还必须使其可执行。 要使脚本可执行: 然后,您可以通过输入: ./filename 来执行您的脚本。 注释 在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。 变量 在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:

shell脚本实例

shell脚本实例 1. 写一个脚本,利用循环计算10的阶乘 #!/bin/sh factorial=1 for a in `seq 1 10` do factorial=`expr $factorial \* $a` done echo "10! = $factorial" 注:上面有一行,for a in `seq 1 10`,其中seq 1 10 , 即列出现1到10之间所有的数字,这一行也可改为:for a in "1 2 3 4 5 6 7 8 9 10" 2. 写一个脚本,执行后,打印一行提示“Please input a number:",要求用户输入数值,然 后打印出该数值,然后再次要求用户输入数值。直到用户输入 "end"停止。 #!/bin/sh

while [ "$var" != "end" ] do echo -n "please input a number: " read var if [ "$var" = "end" ] then break fi echo "var is $var" done 3. 写一个脚本,利用循环和continue关键字,计算100以内能被3整除的数之和#!/bin/sh sum=0 for a in `seq 1 100` do if [ `expr $a % 3` -ne 0 ] then continue

echo $a sum=`expr $sum + $a` done echo "sum = $sum" 4.一个函数,利用shift计算所有参数乘积,假设参数均为整数( 特殊变量$# 表示包含参数的个数) #! /bin/sh result=1 while [ $# -gt 0 ] do result=`expr $result \* $1` shift done echo $result 5.写一个脚本,可以根据参数文件名,以正确的参数调用tar来解压缩tar.gz或tar.bz2文件。 #!/bin/sh

shell脚本for循环案列

Shell脚本for循环应用实例 实例1,提示用户输入一个数字,判断用户输入是否为纯数字,若为纯数字,对该数字进行阶层运算和求和运算,如3!=1*2*3,输出结果为3!=6,Σ5=15. 实现程序代码 #!/bin/bash #打印该程序的功能 echo -e "\nThis program will calculate num! and output the result.\n" #提示用户输入,并将输入的数字赋值给num read -p "Please input a number:" num #初始化记录阶层运算的变量 order=1 #初始化记录求和运算的变量 sum=1 #判断是否为纯数字,如果为纯数字就为false,如果不是纯数字就为true if [[ $num =~ [^0-9] ]] then #当不为纯数字就提示输入纯数字 echo "You should input a number!" else #进行就和与阶层运算 for i in `seq 1 ${num}`#注意不是单引号,而是反引号 do #开始进行阶层运算 order=$(( $i * $order )) #开始进行求和运算 sum=$(( $i + $sum )) done #输出就和的结果 echo -e "\n${num} sum is ${sum}" #判断阶层结果,如果等于零就说明输入的数字过大,超出计算机运行内存,无法完成计算

if [ ${order} == 0 ] then #提示输入的数字过大 echo -e "\nThe number too large to can't calculate!\n" else #输出求阶层的结果 echo -e "\n${num}!=${order}\n" fi fi 总结:该案例主要是对for循环的使用,还有双括符的使用,双括符是运算高级的数学表达式。结合if语句将正确的结果输出。

相关主题
相关文档
最新文档