##写一个脚本,利用循环计算10的阶乘##
#!/bin/sh
result=1
for val in `seq 1 10`
do
result=$(($result*$val))
done
echo $result
##写一个脚本,执行后,打印一行提示“Please input a number:",
##要求用户输入数值,然后打印出该数值,然后再次要求用户输入数值。直到用户输入"end"停止。
#!/bin/bash
while true
do
read -p "Please input a number: " val
if [ $val = "end" ]
then
break
fi
echo $val | grep [a-zA-Z] >>/dev/null ; test $? = 0 && continue
echo $val
done
#写一个脚本,利用循环和continue关键字,计算100以内能被3整除的数之和
#!/bin/bash
for val in `seq 1 100`
do
if [ $(($val%3)) -ne 0 ]
then
continue
fi
SUM=$((SUM+$val))
done
echo $SUM
#一个函数,利用shift计算所有参数乘积,假设参数均为整数
#!/bin/bash
product (){
product_val=1
for val in `seq 1 $#`
do
product_val=$[$product_val*$1]
shift
done
echo $product_val
}
if [ $# -lt 1 ]
then
echo "$0 <nums>"
exit 1
fi
product $@
#写一个脚本,可以根据参数文件名,以正确的参数调用tar来解压缩tar.gz或tar.bz2文件。
#!/bin/bash
if [ $# -lt 1 ]
then
echo "$0 <filenames>"
exit 1
fi
for filename in $@
do
echo $filename | grep [a-zA-Z0-9_]*.tar.gz >/dev/null; gzfile=$?
if [ $gzfile -eq 0 ]
then
tar zxvf $filename
continue
fi
echo $filename | grep [a-zA-Z0-9_]*.tar.bz2 >/dev/null; bz2file=$?
if [ $bz2file -eq 0 ]
then
tar jxvf $filename
fi
done