1、判断/etc/inittab文件是否大于100行,如果大于,则显示”/etc/inittab is a big file.”否者显示”/etc/inittab is a small file.”

#!/bin/bash
if [ `wc -l /etc/inittab | awk '{print $1}'` -gt 100 ] ;then
echo ”/etc/inittab is a big file.”
else
echo ”/etc/inittab is a small file.”
fi
2、给定一个用户,来判断这个用户是什么用户,如果是管理员用户,则显示“该用户为管理员”,否则显示“该用户为普通用户”

#!/bin/bash
if [ `whoami` == "root" ] ;then
echo "该用户为管理员"
else
echo "该用户为普通用户"
fi
3、判断某个文件是否存在
 
#!/bin/bash
cat /etc/sysconfig/network-scripts/ifcfg-ens33 >null
if [ $? -eq 0 ];then
echo "存在"
else
echo "不存在"
fi
 
4、判断当前系统上是否有用户的默认shell程序是否为bash程序,如果有,就显示有多个这类用户,否则就显示没有这类用户;【并且显示出那些用户是 bash】
 
#!/bin/bash
if [ ` grep "bash$" /etc/passwd |cat -n| awk '{print $1}'` -gt 0 ] ;then
echo `grep "bash$" /etc/passwd | awk -F ":" '{print $1}'`
else
echo "没有这类用户"
fi
 
5、写出一个脚本程序,给定一个文件,比如:/etc/inittab a、判断这个文件中是否有空白行? b、如果有,则显示其空白行的行号,否则显示没有空白行
 
#!/bin/bash
`awk '/^$/{print NR}' /etc/inittab`
if [ $? -gt 0 ];then
echo "有"
echo `awk '/^$/{print NR}' /etc/inittab`
else
echo "没有"
fi
 
6、写一个脚本程序,给定一个用户,判断其UID与GID是否一样,如果一样,就显示该用户为“good guy”,否则显示为“bad guy”
 
#!/bin/bash
USERID=`grep "^root" /etc/passwd|cut -d ':' -f 3,4|cut -d ':' -f 1`
GRPID=`grep "^root" /etc/passwd|cut -d ':' -f 3,4|cut -d ':' -f 2`
if [ $USERID -eq $GRPID ]; then
echo "good guy."
else
echo "bad guy."
fi
 
7、写一个脚本程序,给定一个用户,获取其密码警告期限;然后判断用户最近一次修改密码的时间距离今天是否已经小于警告期限;
 1 #!/bin/bash
2 #
3 W=`grep "abc" /etc/shadow | cut -d: -f6`  #取出密码过期的警告时间
4 S=`date +%s`    #指定系统元年到现在经过的时间(秒)
5 T=`expr $S/86400`  #指定系统元年到现在经过的天数(天)
6 L=`grep "^abc" /etc/shadow | cut -d: -f5`    #取出密码使用的过期时间
7 N=`grep "^abc" /etc/shadow | cut -d: -f3`    #取出密码最近一次修改的时间
8 SY=$[$L-$[$T-$N]]      #算出还剩下的多少天过期(SY)
9 if [ $SY -lt -$W ]; then
10 echo "Worning"
11 else
12 echo "OK"
13 fi
8、判断命令历史中历史命令的总条目是否大于1000,如果大于,则显示“some command will gone”,否则显示OK
 
#!/bin/bash
a=`history | tr -s [:space:]|tail -1|awk '{print $1}'`
if [ $a > 1000 ];then
echo "some command will gone."
else
echo "OK"
fi
9、给定一个文件,如果是普通文件,就显示出来,如果是目录文件,也显示出来,否则就显示“无法识别”
#!/bin/bash
if [ -f `ls /etc/inittab` ];then
echo “普通文件”
elif [ -d `ls /etc/inittab` ];then
echo ”目录文件“
else
echo "无法识别"
fi

10、写一个脚本,能接受一个参数(文件路径),判断这个参数如果是一个存在的文件就显示“ok”,否则显示“No such file”

 
#!/bin/bash
if [ -f `read input` ];then
echo "ok"
else
echo "no"
fi

shell作业01的更多相关文章

  1. 课程作业01:模仿JavaAppArguments.java示例,编写一个程序,此程序从命令行接收多个数字,求和之后输出结果。

    1.设计思想: 首先是从JavaAppArguments.java示例开始,此示例已打印参数,定义数字 之和和作为存储单位的整型,然后将输入参数的字符串转化为整型,之后求和即可. 2.程序流程图: 3 ...

  2. JAVA自学作业01

    JAVA自学作业01 1.Hello World 程序 class HelloWorld{ public static void main(String args[]){ System.out.pri ...

  3. 2017《Java技术》预备作业01

    2017<Java技术>预备作业 1.学习使用MarkDown 本学期的随笔都将使用MarkDown格式,要求熟练掌握MarkDown语法,学会如何使用标题,插入超链接,列表,插入图片,插 ...

  4. C语言I博客作业01

    C语言I博客作业01 作业1 这个作业属于哪个课程? C语言程序设计I 这个作业要求在哪里? https://edu.cnblogs.com/campus/zswxy/CST2019-2/homewo ...

  5. | C语言I作业01

    C语言I作业01 标签:18软件 李煦亮 1.1 你对软件工程专业了解是怎样? 对软件工程的了解是从人工智能频繁地出现在各大新闻,新闻报道了许多高校针对人工智能开设了相关课程或者专业,软件工程是开设的 ...

  6. C博客作业01——分支,顺序结构

    C博客作业01--分支,顺序结构 0.展示PTA总分 1本章学习内容 1.1学习内容总结 1)格式化输出函数printf(),scanf(). 它是什么? 对于初学者而言,一开始了解接触它们,只是被硬 ...

  7. shell作业后台执行的方法

    来思考几种场景: 1.某个脚本需要执行时间比较长,无人值守,可能执行过程中因ssh会话超时而中断? 2.某次测试一段代码,需要临时放入后台运行? 3.放入后台运行的脚本,需要在一段时间后重新调到前台? ...

  8. shell编程01—shell基础

    01.学习shell编程需要的知识储备 1.vi.vim编辑器的命令,vimrc设置 2.命令基础,100多个命令 3.基础.高端的网络服务,nfs,rsync,inotify,lanmp,sersy ...

  9. python开发基础作业01:模拟登陆系统

    随老男孩学习python mark 作业要求及提示:编写登录接口 ''' 练习程序:编写登录接口 1. 输入用户名和密码 2. 认证成功后显示欢迎信息 3. 输错三次后锁定 输入三次后退出,下次同样用 ...

随机推荐

  1. input框输入手机号码分隔显示

    在input框输入手机号码时,自动加入空格按照3,4,4位显示,如: 实现方法如下: <label>手机号码</label><input type="text& ...

  2. js中Array的sort方法

    Array.sort方法里需要传入一个参数,是一个function, 如果想要升序排序,就传入这样的一个function: function sortFunction(a,b){ return a-b ...

  3. React-native 触摸事件

    http://www.360doc.com/content/16/0711/23/34978982_574835465.shtml

  4. JavaWeb_(Hibernate框架)使用Hibernate开发用户注册功能

    使用Hibernate开发用户注册功能: 用户在register.jsp表单成功后,页面跳转到login.html,数据库中会存放用户注册的信息 <%@ page language=" ...

  5. zabbix添加开机自启

    原文链接:https://www.cnblogs.com/zydev/p/6888805.html 1. zabbix客户端的系统服务脚本 1.1 拷贝启动脚本 zabbix的源码提供了系统服务脚本, ...

  6. Linux-expect脚本-编写一个expect脚本

    1.声明expect #!/usr/bin/expect -f 2.设置超时时间,获取参数 set ip [lindex $argv 0 ] //接收第一个参数,并设置IP set password ...

  7. 【软件工程】团队Git现场编程实战

    组长博客链接 博客链接 组员职责分工 队员 职责分工 恩泽 进行任务的划分与安排,调用API,负责餐饮商铺及商圈信息的获取 金海 解析API返回的json数据,提取有关信息 君曦 部分算法编写 季城 ...

  8. js实现图片上传到服务器和回显

    关于js实现图片的上传和回显,曾经用户的代码粘在这里: 样式:这样写样式的道理是给<input>标签的父级设置一个背景图,就是‘+’那个背景图,然后把<input>的宽高设置得 ...

  9. linu逻辑分区动态调整大小

    注意: 这个动态调整的方法是有丢数据风险的,要确保调整的源分区没有使用或者使用率很低.源分区中如果有重要的文件最好先备份 在centos 6.5上操作过 lvdisplay 查看已有的分区的大小 lv ...

  10. linux调用本地shell脚本

    package com.haiyisoft.cAssistant.adapter.rest; import java.io.BufferedReader;import java.io.File;imp ...