Shell脚本编程


1.编写shell 脚本,计算1-100 的和;

#!/bin/bash
sum=0;
for((i=0;i<=100;i++))
{
sum=$(( $sum + $i  ))
}
echo $sum

2)编写shell 脚本,要求输入一个数字,然后计算出从1 到输入数字的和,要求,如果输入的数字小于1,则重新输入,直到输入正确的数字为止;

#!/bin/bash
numsave=0
read -p "please input your number:" num
while true;do
if test $num -lt 0;then
        read -p "please again:" num
else
        break
fi
done

for((i=0;i<=$num;i++))
{
        numsave=$(($numsave+$i))
}
echo $numsave

3)编写shell程序,根据要求对给定目录进行备份和恢复。
功能:
选择1,对输入的目录进行备份,备份目录为:/tmp
选择2,实现对备份目录的恢复,恢复到当前目录下
选择3,退出
要求用函数实现:
backup():实现目录的备份,生成.tar.gz文件
restore():实现目录的恢复
testdir():对输入的目录名进行判断,若目录名不存在,给出错误提示。

#!/bin/bash
dir=$1
#ls -ld ./$dir
backup()
{
        tar -cvf /tmp/$dir.tar ./$dir
}
restore()
{
        tar -xvf /tmp/$dir ./$dir
}
testdir()
{
 if test ! -d $dir;then
echo "this isn't dir"
#exit 0
fi
}
testdir

while true;do
select opt in 'BackUp Dir' 'Restore Dir' 'Exit' ;do
        case $opt in
        'BackUp Dir')#there isn't number
          backup
        ;;
        'Restore Dir')
          restore
        ;;
        *)
         exit 0
        ;;
  esac
 done
done

相关内容