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
((sum+=i))
done
str=$st
r"="${sum}
echo $str
补充: 类C循环
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;31m\e[1;46m[%-100s][%d%%][%c]\e[0m\r" "$str" "$i" "${arr[$index]}"
let i++
str+=
"#"
sleep 0.
1
done
3. 传⼊入⾄至少三个数字参数到脚本file,并计算出最⼤大,最⼩小,平均值。需要判断 传⼊入的数字是否⾜足够,否则输出警告信息。平均值保留两位⼩小数。
#!/bin/bash
function
avg()
{
if [
$# -lt 1 ];
then
printf "pra al least 2 items\n"
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
$@
转载请注明原文地址: https://www.6miu.com/read-69670.html