一、实训题目
Shell 编程
二、实训目的
(1)熟悉 Shell 脚本语法。
(2)掌握常用程序的编写。
三、实训内容及步骤
(1)显示当前日期时间、执行路径、用户账户及所在的目录位置。参考源码如下:
#!/bin/bash
#这是一个测试脚本
echo –n "当前日期和时间:"
date
echo –n "程序执行路径:"$PATH
echo "当前登录用户名:`whoami`"
echo –n "当前目录:"
pwd
#end
(2)判断一个文件是不是字符设备文件,并给出相应的提示信息。参考源码如下:
#!/bin/bash
file="/dev/sdb1"
if [ -c $file ]
then
echo "这是字符设备文件"else
echo "这不是字符设备文件"
fi
(3)从键盘输入两个字符串,比较两个字符串是否相等。参考源码如下:
#!/bin/bash
read -p "请输入第一个字符串: " s1
read -p "请输入第二个字符串: " s2
if [ s1 = s2 ]
then
echo "两个字符串相等"
else
echo "两个字符串不相等"
fi
(4)分别用 for、while 与 until 语句求从整数 1 到 100 的和。
for 语句参考源码:
#!/bin/bash
total=0
num=0
for num in {1..100}
do
total=`expr $total + $num`
done
echo "结果等于: $total"
或者:
#!/bin/bash
total=0
for((num=1; num <=100; num++))
do
total=`expr $total + $num`
done
echo "结果等于: $total"
while 语句参考源码:
#!/bin/bash
total=0
num=0
while [ $num -le 100 ]
do
total=`expr $total + $num`
num=`expr $num + 1`
done
echo "结果等于: $total"
until 语句参考源码
#!/bin/bash
total=0
num=0
until [ $num -gt 100 ]
do
total=`expr $total + $num`
num=`expr $num + 1`
done
echo "计算结果为: $total"
(5)实现每天将主目录下的所有目录和文件归档并压缩为文件 mybackup.tar.gz。
备份文件 backup.sh 参考源码(可使用 nano 编辑器):
#!/bin/bash
cd /home
tar -zcvf mybackup.tar.gz
将该脚本文件复制到/etc/cron.daily 目录中。
为该脚本文件添加执行权限。
实验总结
通过本次实验:学习了shell脚本语言的书写方式和for循环的两种方式以及while循环和until 语句。