11、题目要求
写一个脚本实现如下功能: 输入一个数字,然后运行对应的一个命令。
显示命令如下:
*cmd meau** 1 - date 2 - ls 3 - who 4 - pwd 当输入1时,会运行date, 输入2时运行ls, 以此类推。
核心要点
- case判断
参考答案
#!/bin/bash echo "*cmd meau** 1 - date 2 - ls 3 - who 4 - pwd" read -p "Please input a number: " n if [ -z "$n" ] then echo "请输入一个纯数字,范围1-4." exit fi n1=`echo $n|sed ‘s/[0-9]//g‘` if [ -n "$n1" ] then echo "请输入一个纯数字,范围1-4." exit fi case $n in 1) date ;; 2) ls ;; 3) who ;; 4) pwd ;; *) echo "请输入1-4的数字" ;; esac
2、题目要求:
用shell脚本实现如下需求:
添加user_00 – user_09 10个用户,并且给他们设置一个随机密码,密码要求10位包含大小写字母以及数字,注意需要把每个用户的密码记录到一个日志文件里。 提示:
-
随机密码使用命令 mkpasswd
-
在脚本中给用户设置密码,可以使用echo 然后管道passwd命令
核心要点
- seq实现数字递增
- mkpasswd产生随机字符
参考答案
#!/bin/bash for i in `seq -w 00 09` do useradd user_$i p=`mkpasswd -l 10 -s 0 ` echo "user_$i $p" >> /tmp/pass.tmp echo $p |passwd --stdin user_$i done
注意 :
seq -w 00 09 #查找00到09之间的数字
mkpasswd -l 10 -s 0 #生成随机密码要求10位包含大小写字母以及数字
# echo "asdhdkjhakushd kjhskjd" | passwd --stdin user1 # 更新用户user的密码
使用命令 tail /etc/passwd 查看用户的随机密码,有没有生成。
使用命令 cat /tmp/pass.tmp 查看用户的随机密码,有没有生成。
3、题目要求:
写一个shell脚本来看看你使用最多的命令是哪些,列出你最常用的命令top10。
参考答案
cat ~/.bash_history |sort |uniq -c |sort -nr |head