2017年最新企业面试题之shell(四)

2017年最新企业面试题之shell(四)


一、抽签脚本(1)要求如下:

1、写一个脚本执行后,输入名字,产生随机数01-99之间的数字;

2、输入名字后,屏幕输出信息,并将名字和数字记录到文件里;

3、如果相同的名字重复输入,脚本给予提示“名字重复”,要求该学生重新输入并不将本次输入记录到文件里;

4、程序不能退出继续等待别的学生输入。

脚本图片如下:

脚本文档如下:

#!/bin/sh
fun0(){
printf "$name $num\n" >/dev/null
}
fun1(){
read -p "请输入你的名字:" name
}
fun2(){
num=$[ RANDOM%100 ]
echo $name
echo $num
printf "$name $num\n" >>/root/name.txt
usleep 2000000
#clear
}
fun1
fun2
fun3(){
bb=$(grep "$name" /root/name.txt|awk ‘{print $1}‘)
if [ -z "$bb" ];then
   echo "可以使用"
 else
   echo "名字重复" && fun0 && main
fi
}
main(){
while true
do
    fun1
    fun3
    fun2
done
}
main

二、抽签脚本(2)要求如下:

1、写一个脚本执行后,输入名字,产生随机数01-99之间的数字;

2、输入名字后,屏幕输出信息,并将名字和数字记录到文件里;

3、如果相同的名字重复输入,脚本给予提示“名字重复”,要求该学生重新输入并不将本次输入记录到文件里;

4、前面已经抓到的数字,下次不能再出现相同数字;

5、程序不能退出继续等待别的学生输入。

脚本图片如下:

脚本文档如下:

#!/bin/sh
fun0(){
printf "$name $num\n" >/dev/null
}
fun1(){
read -p "请输入你的名字:" name
}
fun2(){
num=$[ RANDOM%100 ]
echo $name
echo $num
printf "$name $num\n" >>/root/name.txt
usleep 2000000
#clear
}
fun1
fun2
fun3(){
bb=$(grep "$name" /root/name.txt|awk ‘{print $1}‘)
if [ -z "$bb" ];then
   echo "可以使用"
 else
   echo "名字重复" && fun0 && main
fi
}
fun4(){
mm=$(grep "$num" /root/name.txt|awk ‘{print $2}‘)
if [ -z "$mm" ];then
   echo "可以使用" && printf "$name $num\n" >>/root/name.txt && main
  else
   echo "数字重复" && fun0 && main
fi
}
fun5(){
num=$[ RANDOM%100 ]
echo $name
echo $num
}
main(){
while true
do
    fun1
    fun3
    fun5
    fun4
done
}
main
时间: 2025-01-02 14:49:24

2017年最新企业面试题之shell(四)的相关文章

2017年最新企业面试题之shell(三)

2017年最新企业面试题之shell(三) 练习题1:写一个shell脚本,类似于日志切割,系统有个logrotate程序,可以完成归档.但现在我们要自己写一个shell脚本实现归档. 举例: 假如服务的输出日志是1.log,我要求每天归档一个,1.log第二天就变成1.log.1,第三天1.log.2, 第四天 1.log.3  一直到1.log.5 脚本内容如下: #!/bin/sh function logdir () { [ -f $1 ] && rm -f $1 } for i

2017年最新企业面试题之shell(二)

2017年最新企业面试题之shell(二) 练习题1:写一个shell脚本,将192.169.5.0/24网段在线的ip列出来.(找出活动ip) 要求如下: 1.将在线ip与不在线ip分别放在两个文件中,方便后期查阅: 2.不影响对当前终端进行操作: 3.脚本运行结束后,给予提示信息,表明脚本已经运行结束. 脚本内容如下: 方法一: #!/bin/bash [ -f /etc/init.d/functions ] && . /etc/init.d/functions||exit1 # 验证

2017年最新企业面试题之shell(一)

2017年最新企业面试题之shell(一) ********************************************** 企业Shell面试题1:批量生成随机字符文件名案例 * ********************************************** 使用for循环在/oldboy目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串oldboy,名称示例如下: [[email protected] C19]# ls /oldbo

(转)2017年最新企业面试题之shell(一,二)

2017年最新企业面试题之shell(一) ********************************************** 企业Shell面试题1:批量生成随机字符文件名案例 * ********************************************** 使用for循环在/oldboy目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串oldboy,名称示例如下: 1 2 3 4 5 [[email protected] C19]#

2020网工最新企业面试题分享 企业优秀网工20道必会初级面试题 来试一下自己的基础到底如何

Q1:接触过华为的交换机.路由器.防火墙等产品吗?分别是哪一些型号?回答:Q2:华为交换机.路由器.防火墙的账户名和密码是多少?回答:Q3:详细说明下数据包的封装和解封装过程回答Q4:255 192 252 168 172 224 128 248 240要非常熟悉把二进制算出来回答:Q5:怎么样判断两个IP地址是否在同一个网段学员答案:答案1:看掩码答案2:主机位一致答案3:网络地址相同 就在同一个网段答案4:网络位一样答案5:在网段范围内答案6:网关一样答案7:网关和掩码一致答案8:ip地址与

2017最新企业Shell面试题及企业运维实战共30道案例

<跟老男孩学习Linux运维:Shell高级编程实战>一书第19章企业面试题分享. 答案: 1.答案在<跟老男孩学习Linux运维:Shell高级编程实战>第19章一书2016年年底前即将出版. 2.2016最新Shell视频http://edu.51cto.com/pack/view/id-546.html 第19章企业Shell面试题及企业运维实战案例 19.1 企业Shell面试题实战案例 19.1.1 企业Shell面试题1:批量生成随机字符文件名案例 使用for循环在/o

Shell企业案例实战和企业面试题

shell企业面试题 1.批量创建带有随机小写字符文件程序 使用for循环在/pizza目录下创建10个html文件,其中每个文件包含10个随机小写字母加固定字母_pizza 1.思路分析: 核心是:创建10个随机小写字母 第一种:$RANDOM [root@web-01 /server/scripts]# echo $RANDOM 9839 范围0-32767 ,第一个容易被破解,使用的时候最好再加个字符串 第二种:openssl rand -base64 10 [root@web-01 /s

Linux运维必会的MySQL企业面试题大全 推荐

Linux运维必会的MySQL企业面试题大全 推荐 (1)基础笔试命令考察 1.开启MySQL服务 /etc/init.d/mysqld startservice mysqld startsystemctl  start mysqld 2.检测端口是否运行 lsof -i :3306netstat -lntup |grep 3306 3.为MySQL设置密码或者修改密码 设置密码 mysql -uroot -ppassword -e "set passowrd for root = passow

2017年最新(4月20日)手机号码归属地数据库分享

2017年最新(4月20日)手机号码归属地数据库下载 手机号段数据库 号码归属地数据库  移动号段 联通号段 电信号段 147号段 170号段(虚拟运营商) 权威  全面  准确  规范字段包括 省份 城市 运营商 邮编 区号 等信息,对于数据分析.号码归属地查询等非常有帮助 更新历史: 2017年4月最新版手机号段归属地,也叫手机归属地数据库  共360569条记录,三种格式:MYSQL,MSSQL,access MDB格式 字段:手机号码前7位,省份,城市,区号,运营商,邮编 末尾如下: 3