shell脚本案例。

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位包含大小写字母以及数字,注意需要把每个用户的密码记录到一个日志文件里。   提示:

  1. 随机密码使用命令 mkpasswd

  2. 在脚本中给用户设置密码,可以使用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

 

shell脚本案例。

上一篇:linux下进程创建/僵尸进程/孤儿进程


下一篇:清华徐葳:如何用大数据和人工智能让云更聪明?