一、实验目的
1.了解shell的作用和主要分类。
2.掌握bash的建立和执行方式。
3.掌握bash的基本语法。
4.学会编写shell脚本。
二、实验仪器设备环境
装有Linux操作系统的计算机。
- 实验原理
Shell是Linux系统中一个重要的层次,它是用户与系统交互作用的界面。在前几章介绍Linux命令时,shell都作为命令解释程序出现,这是shell最常见得使用方式。
其实,shell还是一种高级编程语言,它有变量、关键字,各种控制语句(如if、case、while、for等),支持函数模块、有自己的语法结构。利用shell程序设计语言可以编写出功能很强、代码简单的促销。特别是它把相关的Linux命令有机地结合在一起,可大大提高编程的效率。
- 实验内容及实验步骤
1.利用vi建立一个脚本文件,其中包括date、cal、pwd、ls等常用命令。然后以不同方式执行该脚本。
vi qingshui
进入vi编译器,按“i”插入模式填写以下内容,接着按"Esc" “Shift+zz"退出并保存
用bash qingshui 命令执行脚本
用bash <qingshui命令执行
用chmod a+x qingshui ——>PATH=$PATH:. ——>qingshui命令执行
2.设计一个shell程序,添加一个新组为class1,然后添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01到30。
在终端输入如下内容
#!/bin/sh
i=1 #用于记录第几个用户
groupadd class1 #创建用户组class1
while [ $i -le 30 ] #当用户的数量在1-30之间 -le 小于等于30
do
if [ $i -le 9 ] ;then #当用户的数量是1-9之间 一位数
USERNAME=stu0${i}
else
USERNAME=stu${i} #用户的数量在10-30之间
fi
useradd $USERNAME #创建用户
mkdir /home/$USERNAME #在根目录下的home目录下创建与刚创建的用户同名的目录
chown -R $USERNAME /home/$USERNAME #修改文件/目录的拥有者
chgrp -R class1 /home/$USERNAME #递归修改文件/目录的组 chgrp -R 组名 文件名/目录名
i=$(($i + 1))
done
1,1 顶端
3.利用数组形式存放10个城市的名字,然后利用for循环把它们打印出来。
在终端输入如下内容:
#!/bin/bash
city=( Shanghai Tianjin Guangzhou Chongqing Hangzhou Nanjing Shenyang Taiyuan Jinan)
for i in ${city[*]}
do
echo $i
done