shell脚本:练习题

题目1:1-100求和

非递归版本:

#!/bin/bash

sum=0
while [ $val -le 100 ]
do
	let sum+=val
	let val++
done

echo $sum

sum=0
for i in {1..100}
do
	if [ $i == 1 ]; then
		bar=${bar}${i}
	else
		bar=${bar}+${i}
	fi
	let sum+=i
done

echo  $bar=$sum

sum=0
for (( i=1 ; i<=100 ; i++))
do
	let sum+=i
done
echo $sum

运行结果:

递归版本:

#!/bin/bash
function add()
{
	local count=$1
	if [ $count -eq 1 ];then
		echo 1
		return 
	fi
	local tmp=$count
	let --tmp
	local ret=`add $tmp`
	let ret+=count
	echo $ret
}
read c
ret=$(add $c)
echo "$ret"

运行结果:

bc计算:

2字符串转换,前后数字转换,字母大小写转换:

#!/bin/bash
function str()
{
	while read str
	do
		str1=`echo ${str:0:3}`
		str2=`echo ${str:3:3} | tr ‘[a-z]‘ ‘[A-Z]‘`
		str3=`echo ${str:6:3}`
		printf "%s%s%s\n" "$str3" "$str2" "$str1"
	done<file
}
str

运行结果:
之前:
753asd456

789dfg123

789fdh456

改变后:

求文件中行代表数字的最大值最小值:

#!/bin/bash
read name
avg=0
max=0
min=0
cur=0
sum=0
count=0
#cat $name | while read line
while read line
do 
	let	cur=$line
	if [ $count -eq 0 ];then
		 max=$line
		 min=$line
	fi

	if [ $cur -gt $max ];then
		 max=$cur

    fi

	 if [ $cur -le $min ];then
	     min=$cur
	fi

	let count++
	let sum+=cur
done<$name
	echo "MAX:$max"
	echo "MIN:$min"
	echo "SUM:$sum COUNT:$count"
	echo "average: $((sum/count))"

运行结果:

进度条:

斐波那契数列:

#!/bin/bash
arry[0]=1
arry[1]=2
temp=0
sum=0
for i in {0..99}
do 
	if [ $i -gt 0 ];then
	let	arry[$i+1]=arry[$i]+arry[$i-1]
	fi
done
echo ${arry[99]}

运行结果:

时间: 2024-10-08 22:23:03

shell脚本:练习题的相关文章

shell脚本练习题(更新中...)

练习题(这里贴的是自己写的代码, 网上给的题目代码我会附加在最下面) 1. 编写shell脚本,计算1-100的和: 1 #!/bin/bash 2 #caculate the sum of numbers from 1 to 100 3 4 sum=0 5 for i in `seq 1 100`; do 6 sum=$[$sum+$i] 7 done 8 echo $sum 2. 编写shell脚本,要求输入一个数字,然后计算出从1到输入数字的和,要求,如果输入的数字小于1,则重新输入,直到

shell脚本练习题

求出数字1~100的累加和: 要求数字的累加,可以使用循环来完成,如下代码: #!/bin/bash sum=0 str="" #for i in {1..100} for ((i=1 ; i<=100 ; ++i)) do     str+="${i}+"     let sum+=i done echo "${str%+}=${sum}" 运行脚本: 另外一种可以用递归的方式: #!/bin/bash read num  sum=0 s

shell脚本编程进阶练习题

这两天学习了shell脚本编程进阶,作为一枚文科生,小编觉得...恩..脚本很烧脑.....,不过小编还是做了些题,稍作总结后,呈给各位看官,内容如下: 一.条件选择if语句 选择执行: 注意:if语句可嵌套 单分支 if 判断条件;then 条件为真的分支代码 fi 双分支 if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi 多分支 if 判断条件1; then 条件为真的分支代码 elif 判断条件2; then 条件为真的分支代码 elif 判断条件3; t

shell编程脚本练习题

1.使用for循环在/oldboy目录下通过随机小写10个字母加固定字符串oldboy批量创建10个html文件,名称例如为: [[email protected] oldboy]# sh /server/scripts/oldboy.sh [[email protected] oldboy]# ls coaolvajcq_oldboy.html  qnvuxvicni_oldboy.html  vioesjmcbu_oldboy.html gmkhrancxh_oldboy.html  tmd

shell脚本进阶练习题---理解和练习

1.编写脚本/root/bin/createuser.sh, 实现如下功能:使用一个用户名做为参数,如果指定参数的用户存在,就显示其存在,否则添加之:显示添加的用户的id号等信息 2.判断/var/目录下所有文件的类型 3.添加10个用户user1-user10,密码为8位随机字符 4.编写脚本,提示请输入网络地址,如192.168.0.0,判断输入的网段中主机在线状态 有几个有意思点的shell脚本 5.九九乘法表 6.等腰三角形 7.国际象棋棋盘 不忘初心 砥砺前行!!! 原文地址:http

第三部分shell编程3(shell脚本2)

7. if 判断一些特殊用法 if [ -z $a ] 这个表示当变量a的值为空时会怎么样if grep -q '123' 1.txt; then 表示如果1.txt中含有'123'的行时会怎么样if [ ! -e file ]; then 表示文件不存在时会怎么样if (($a<1)); then …等同于 if [ $a -lt 1 ]; then… [ ] 中不能使用<,>,==,!=,>=,<=这样的符号 if [ ! $a -gt 0 ];then... 代表不大于

shell脚本(1)

今天小编为大家讲的是shell脚本,这一块在我们Linux占了很大的分量,小编想了好久,还是觉的用练习题来讲述更具有说服力,小编会把每个解题的亮点与重点指出来. 1.编写脚本/root/bin/createuser.sh,实现如下功能:使用一个用户名做为参数,如果指定参数的用户存在,就显示其存在,否则添加之:并生成8位随机口令并存在一个文件中,初步提示改口令,显示添加的用户的id号等信息 read -p "input user:   "  user if id $user &&

Shell脚本编程---条件判断if

SHELL脚本编程---判断 1.条件判断 条件判断在bash分为整数判断,字符判断和文件判断. 1-1条件判断的表达式: ① [ expression ] (注意单词词头和词尾都需要空格) ② [[ expression ]](注意同上) ③ test expression 1-2 整数比较 ① -eq  测试两个数是否相等,相等为真,不等为假 ② -ne  测试两个数是否不等, 反之. ③ -gt (大于),-lt (小于),-ge(大于或等于),-le(小于或等于) 逻辑与:&&  

shell 脚本编程 【上】

程序就是指令加上数据组合而成 程序编程风格: 过程式:以指令为中心,数据服务于指令 象式:以数据为中心,指令服务于数据 编程语言: 低级:汇编 高级: 编译:高级语言-->编译器-->目标代码 java,C# 解释:高级语言-->解释器-->机器代码 shell, perl, python shell程序:提供了编程能力,解释执行 shell脚本是包含一些命令或声明,并符合一定格式的文 本文件 格式如下: 首行shebang机制 #!/bin/bash #!/usr/bin/pyt

Shell学习之路和我发布过的Shell脚本博文

Shell学习之路 目录 Shell学习之路[第一篇]:别名,管道,用户配置文件,变量,read Shell学习之路[第二篇]:条件测试,运算符,选择结构,for循环结构 Shell学习之路[第三篇]:While循环,C-for循环,Until循环,case分支结构,流程控制语句 Shell学习之路[第四篇]:函数,数组,变量替换 Shell学习之路[第五篇]:多线程脚本 Shell学习之路[第六篇]:Trap信号捕捉命令介绍与Shell结合实战讲解 Shell学习之路[第七篇]:Linux下d