实验五 shell脚本编程
| 项目 | 内容 |
|---|---|
| 这个作业属于哪个课程 | <班级课程的主页链接 > |
| 这个作业的要求在哪里 | <作业要求链接接地址 > |
| 学号-姓名 | 17043226-易天儒 |
| 作业学习目标 | 1.了解shell脚本的概念及使用 2.掌握shell脚本语言的基本语法3. 学习简单的shell`脚本编程 |
| 位置参数变量 | 作 用 |
|---|---|
| $n | n 为数字,$0代表命令本身,11-99代表1-9参数,十及十以上参数用大括号$ |
| $* | 这个变量代表命令行中所有的参数,把所有的参数看成一个整体 |
| $@ | 这个变量也代表命令行中所有的参数,不过$@把每个参数区别对待 |
| $# | 这个变量代表命令行中所有参数的个数 |
| 参数处理 | 说明 |
|---|---|
| $# | 传递到脚本的参数个数 |
| $* | 以一个单字符串显示所有向脚本传递的参数。 如"$*"用「"」括起来的情况、以"11,22…nn" |
| $$ | 脚本运行的当前进程ID号 |
| $! | 后台运行的最后一个进程的ID号 |
| $@ | 与∗相同,但是使用时加引号,并在引号中返回每个参数。如"∗相同,但是使用时加引号,并在引号中返回每个参数。如"$@"用「"」括起来的情况、以"11","22"… "nn" 的形式输出所有参数。 |
| $- | 显示Shell使用的当前选项,与set命令功能相同 |
| $? | 显示最后命令的退出状态,0表示没有错误,其他任何值表明有错误。 |
![]() |
- 让用户输入一个字符串,如果用户输入的是 hello ,请输入 hello 用户姓名首字母缩写 ,否则输出 请输入hello
#!/bin/bash
read -p '请输入一个字符串:' str
if [ $str = "hello" ]
then
echo "hello wxr"
else
echo "请输入hello"
fi


-
编写一脚本,判断输入用户名是否存在,输出结果只能是存在该用户或者不存在该用户,不能有其他数据输出。
#!/bin/bash read -p '请输入用户名:' user_name id $user_name &> /dev/null if [ $? -eq 0 ] then echo "存在用户$user_name" else echo "不存在用户$user_name" fi


- 编写脚本计算1-100之间的所有奇数和
#!/bin/bash
SUM=0
for i in {1..100..2}
do
let SUM=$SUM+$i
done
echo "1-100之间的所有奇数和为: $SUm"


4.编写脚本,判断键盘输入整数是否为质数。


5.模拟一个多任务维护界面,当执行程序时先显示总菜单,然后进行选择后做相应的维护监控操作。




6.编写脚本实现计算用户输入参数数字的和,分别用 shift 和 for 循环实现。




7.编写脚本,生成一个phonenumber.txt文件,文件内容为随机产生以139开头的手机号1000个, 每个手机号占一行。


8.在第7题产生的1000个电话号码中抽取5位幸运号码,并显示,要求只显示前3三位数字和后4位数字,中间四位用*代替。


9.使用 until 语句批量创建10个用户,要求 stu1-stu5 用户的 UID 分别为 2001-2005 , stu6- stu10 用户的家目录分别在 /rhome/stu6-/rhome/stu10

注意这里创建用户要在 root 用户权限下执行脚本,我们可以用 su ( CentOS )或者 sudo su ( Ubuntu ),注意不要加 - ,我们还是在当前目录操作。


10.编写脚本收集用户输入的基本信息(姓名,性别,年龄),如果用户不输入一直提示用户输入后根据用户输入的信息输出相应的内容。




浙公网安备 33010602011771号