shell编程练习

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell编程练习相关的知识,希望对你有一定的参考价值。

题目一:求和练习:
#!/bin/bash
function sumarray {
local sum=0
local array
array=(echo "[email protected]")
for value in ${array[]}
do
sum=$[$sum+$value]
done
echo $sum
}
wang=(1 2 3 4 5)
echo "初始数据为:${wang[
]}"
kai=echo ${wang[*]}
result=sumarray $kai
echo "结果是:$result"
exit 0
技术分享图片
解析:在这道题目里我注重练习函数的定义及使用,还有数组的使用,这些都是shell编程的重点难点。
本人在这道题目中犯下的错误:数组未加大括号,定义数组时未加小括号;这些应该注意!
题目二:将数组拆分加倍后合并输出
#!/bin/bash
function array {
local array1=(echo "[email protected]")
local array2=(echo "[email protected]")
local i
local elements=$[$#-1]
for (( i=0; i<=$elements; i++ ))
{
array2[$i]=$[ ${array1[$i]} 2 ]
}
echo "${array2[
]}"
}
wang=(1 2 3 4 5)
echo "初始数据为:${wang[]}"
kai=`echo ${wang[
]}<br/>result=array $kai<br/>echo "结果是:${result[*]}"<br/>![](http://i2.51cto.com/images/blog/201801/30/127f2176aaf433ae52d6201db2a8fae2.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)<br/>解析: 这道题目考察点是围绕着数组的处理来的,不仅将数组拆分成单个变量,也要做到将数组合并为整体输出。<br/>第三题:求阶乘<br/>#!/bin/bash<br/>function jj {<br/>if [ $1 -eq 1 ];then<br/>echo 1<br/>else<br/>local temp=$[$1-1]<br/>local result=jj $temp<br/>echo $[$result * $1]<br/>fi<br/>}<br/>read -p "请输入数字:" number<br/>result1=jj $number`
echo "结果是
解析:本题用来考察函数的递归,难度不大。
技术分享图片

以上是关于shell编程练习的主要内容,如果未能解决你的问题,请参考以下文章

SHELL编程四剑客练习--grep

shell编程练习

SHELL编程四剑客练习--awk

OpenStack 环境下 SHELL 编程练习(持续更新中)

实验shell编程

shell编程练习