Shell编程------脚本范例

1. 批量添加用户

建立用户名和密码组合的txt文件userdata.txt,如下:

username1 123
username2 123
username3 123
username4 123
username5 123
username6 123

批量添加以上用户的脚本是:

#! /bin/bash
while read line
do
    username=$(echo $line | cut -f1 -d‘ ‘)   #或 username=$(echo $line | awk ‘{print $s1}‘)
    password=$(echo $line | cut -f2 -d‘ ‘)   #或 password=$(echo $line | awk ‘{print $s2}‘)
    useradd $username
    if [ $? -eq 0 ]; then
        echo $password | passwd --stdin $username
    else
        echo "the user $username has been finished!"
    fi
done < userdata.txt

2. 文件安全检测

文件安全检测的机制是基于MD5算法:使用MD5算法计算文件的MD5值,若与原始文件的MD5值不同,则文件被修改过。

#! /bin/bash
mkdir /usr/UserData
sudo chmod 777 /usr/UserData
DIRS="/bin /usr/bin"              #  不是shell内建命令的命令最好用全路径调用!
FIND="usr/bin/find                #  不是shell内建命令的命令最好用全路径调用!
MD5SUM="usr/bin/md5sum"           #  不是shell内建命令的命令最好用全路径调用!
# 计算文件夹中所有文件的MD5值
$FIND $DIRS -type f | while read line
do
    MD5SUM $line >> /usr/UserData/md5value.md5   # >是覆盖重定向到文件    >>是追加重定向到文件
done
# 检验md5value.md5中所有MD5值是否发生了改变(使用 -c)      --status参数使命令不产生文字输出
while read line
do
     $MD5SUM -c --status $line
     if [ $? -eq 0 ]; then
        echo "$line is initial md5"
     else
        echo "$line has been changed"
     fi
done < md5value.md5

原文地址:https://www.cnblogs.com/ladawn/p/8412580.html

时间: 2024-10-28 12:41:00

Shell编程------脚本范例的相关文章

shell编程脚本语法

学习了两个月的Linux,记住了很多命令,知道了脚本的作用,也被脚本杀死了大概一半的脑细胞,现在脚本还不能熟练运用,感觉亏了.心疼我的脑细胞,痛恨脚本,但不得不说,脚本是一个好东西啊,用起来真的方便,但是写起来真的烧脑袋呦!下面来总结一下这周学习的脚本语法,哇,语法虽然不多也不难,但是结合起来熟练运用还有一定的难度,何况现在的脚本才几行,以后要写几行,心里没点数吗!废话少说,开始 跳过最基础的命令行堆积的脚本,总结一下让脚本更简洁实用的语法 首先,条件选择if语句登场 if语句用法:常见的单分支

shell编程脚本练习题

1.使用for循环在/oldboy目录下通过随机小写10个字母加固定字符串oldboy批量创建10个html文件,名称例如为: [[email protected] oldboy]# sh /server/scripts/oldboy.sh [[email protected] oldboy]# ls coaolvajcq_oldboy.html  qnvuxvicni_oldboy.html  vioesjmcbu_oldboy.html gmkhrancxh_oldboy.html  tmd

shell编程企业实战(试题)

1. 写一个脚本,实现批量添加20个用户,用户名为user1-20,密码为user后面跟5个随机字符 2. Shell实用案例:批量生成随机字符文件 3.请用至少两种方法实现! 将以上文件名中的oldboy全部改成oldgirl(用for循环实现),并且html改成大写. [[email protected] ~]# ll /oldboy/ total 0 -rw-r--r-- 1 root root 0 Jul 20 20:45 aebccciiaj_oldboy.HTML -rw-r--r-

2017-12-5Linux基础知识(15)shell编程

shell编程是在Linux的基础知识中所必须掌握的语言,它也是一个命令的集合,如果学会的话,我们将会事半功倍,将重复的操作通过shell编程脚本来实现,减轻了一定的负担,那么现在就来讲一下shell编程的基础. 一.编程语言的分类 其实根据其语言的分类来讲,强类型的编程语言首先要编译成为该平台的二进制程序文件所能运行,当程序文件可以运行时,编译器就不在参与,而在弱类型的编程语言当中,使用解释器将源代码边解释边执行,那么相当于前者来说,其执行的速度比后者要快得多,但是如果编译完成之后有问题的话,

Shell编程(脚本)的常用命令和语句

一些常用的Shell编程(脚本)命令和语句,可以满足一般需求. 接收到的命令参数: 参数个数: $# 参数值: 命令本身:$0 第一个参数:$1 第二个参数:$2 -- 退出命令: exit echo命令: 换行: echo 输出后不换行: echo -n "请选择(y/n)?" 利用转义符号输出双引号: echo "欢迎使用\"正式服务器\"部署工具." 输出中带变量: echo "即将部署项目:$project_name"

centos shell编程6一些工作中实践脚本 第四十节课

centos   shell编程6一些工作中实践脚本    第四十节课 上半节课 下半节课 f

centos shell编程5LANMP一键安装脚本 第三十九节课

centos shell编程5LANMP一键安装脚本  第三十九节课 上半节课 下半节课 f

《跟老男孩学Linux运维之shell编程实战》-第五章 shell脚本的条件测试

本文的知识点是关于shell脚本的条件测试的相关内容. 通常在shell脚本中我们需要做各式各样的条件判断,比如,测试一个文件是否存在.是否为文件或目录.是否 具有执行权限等等,所以在shell脚本中,条件判断还是至关重要的.接下来我们进入正题:shell脚本的条件测试. 1.在bash编程中,条件测试常用的语法形式如下表: 提示: 语法1中的test命令和语法2中的[]是等价的.语法3中的[[]]双中括号为扩展的test命令. 语法4中的(())常用于计算. 在双中括号[[]]中可以使用通配符

Shell编程(脚本)的经常使用命令和语句

一些经常使用的Shell编程(脚本)命令和语句,能够满足一般需求. 接收到的命令參数: 參数个数: $# 參数值: 命令本身:$0 第一个參数:$1 第二个參数:$2 -- 退出命令: exit echo命令: 换行: echo 输出后不换行: echo -n "请选择(y/n)?" 输出后不换行,并把光标移到最左(以便下次输出覆盖当前行) echo -ne "$i\r" 利用转义符号输出双引號: echo "欢迎使用\"正式server\&qu