Linux网课学习笔记15——Shell编程入门-Shell程序设计实例

Shell程序设计实例

1.增加用户账户

编写一个Shell程序addaccount.sh,在系统中增加四个账户,同时设定他们的初始密码为123456,主组群为wl20。

示例:

先看系统目前有哪些用户:

tail -10 /etc/passwd

Linux网课学习笔记15——Shell编程入门-Shell程序设计实例_第1张图片
下面是脚本:

vi addaccount.sh
#! /bin/sh
groupadd wl20
for username in xlr cyx zh gjj
do
        useradd -g wl20 $username
        echo "123456" | passwd --stdin $username
done

新建一个用户组wl20,用for循环在这个组里添加新用户xlr cyx zh gjj,这些用户的密码设为123456

下面执行:

sh addaccount.sh

Linux网课学习笔记15——Shell编程入门-Shell程序设计实例_第2张图片
再查看一下用户信息:

tail -10 /etc/passwd

Linux网课学习笔记15——Shell编程入门-Shell程序设计实例_第3张图片
随机选一个用户检查所属组:

groups cyx

在这里插入图片描述
切换用户来验证密码:
在这里插入图片描述

2.统计子目录和文件数量

编写一个Shell程序count.sh,统计当前或指定目录中子目录以及文件的数量。

示例:

#! /bin/bash
# 脚本名称  count.sh

read -p "请输入路径(直接回车换行表示当前目录):" fpath
if ["$fpath" = ""]
then
        fpath=$(pwd)
fi
#定义一个函数 fun_directory

directory() {
        echo "您输入的路径为:$fpath"
        let "filenum=0"
        let "dirnum=0"

for dir in ${fpath}/*
do
        if [ -d "$dir" ]
        then
                let "dirnum+=1"
        elif [ -f "$dir" ]
        then
                let "filenum+=1"
fi
done

echo "该目录下共有子目录 $dirnum 个"
echo "该目录下共有文件 $filenum 个"

}

#调用函数
directory

Linux网课学习笔记15——Shell编程入门-Shell程序设计实例_第4张图片
ps:[]两边都要打空格,如果显示哪一行未找到命令,检查一下是不是没有打空格

执行:

sh count.sh

Linux网课学习笔记15——Shell编程入门-Shell程序设计实例_第5张图片
验证一下:
在这里插入图片描述
蓝框里的是文件,粉框里的是目录,数量是对的上的

指定一个目录:
Linux网课学习笔记15——Shell编程入门-Shell程序设计实例_第6张图片

3.九九乘法表

编写乘法口诀cfkj.sh,打印出九九乘法表。

#! /bin/bash

for((ROW=1;ROW<10;ROW++))
do
        for((COL=1;COL<=$ROW;COL++))
                do
                        echo -ne "$ROW*COL="`expr $ROW \* $COL`"  "
                done

        echo
done

Linux网课学习笔记15——Shell编程入门-Shell程序设计实例_第7张图片
执行:
Linux网课学习笔记15——Shell编程入门-Shell程序设计实例_第8张图片

你可能感兴趣的:(Linux网课学习笔记15——Shell编程入门-Shell程序设计实例)