Shell语法训练
发布时间:2020-12-15 16:33:51 所属栏目:安全 来源:网络整理
导读:1. 计算出1+2+3+..+100的结果。可以使?用多种?方法解答。 str= "" sum= 0 for i in { 1. .100 }do if [ "X$str" = "X" ]; then str=$i else str=$st r"+" $i fi #let sum+=$i ((sum+=i))donestr=$st r"=" ${sum}echo $str 补充: 类C循环 for (( i= 0 ;i 10
1. 计算出1+2+3+..+100的结果。可以使?用多种?方法解答。str=""
sum=0
for i in {1..100}
do
if [ "X$str" = "X" ]; then
str=$i
else
str=$str"+"$i
fi
#let sum+=$i
((sum+=i))
done
str=$str"="${sum}
echo $str
补充: for (( i=0;i<10;i++ ))
do
echo "$i"
done
#############################
i=0
sum=0
while [ $i -lt 100 ]
do
((i=i+1))
((sum+=i))
done
echo $sum
2. 利?用shell编写进度条i=0
str=""
arr=("|" "/" "-" "")
while [ $i -lt 100 ]
do
let index=$i%4
printf "e[1;31me[1;46m[%-100s][%d%%][%c]e[0mr" "$str" "$i" "${arr[$index]}"
#printf " 33[37;31;5m[%-100s][%d%%][%c]e[0m 33[39;49;0mr" "$str" "$i" "${arr[$index]}"
let i++
str+="#"
sleep 0.1
done
3. 传?入?至少三个数字参数到脚本?le,并计算出最?大,最?小,平均值。需要判断 传?入的数字是否?足够,否则输出警告信息。平均值保留两位?小数。#!/bin/bash
function avg()
{
if [ $# -lt 1 ];then
printf "pra al least 2 itemsn"
return
fi
min=$1
max=$2
i=0
for i in $@
do
[ $min -gt $i ]&& min=$i
[ $max -lt $i ]&& max=$i
let av+=$i
done
echo "min :$min"
echo "max : $max"
name=$(echo "ibase=10; scale=2; $av/$#" |bc)
echo "avg:$name"
}
avg $@ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |