shell脚本作业
、判断/etc/inittab文件是否大于100行,如果大于,则显示”/etc/inittab is a big file.”否者显示”/etc/inittab is a small file.”
#!/bin/bash
a=`awk '{print NR}' /etc/inittab|tail -n1`
if [$a>];then
echo "文件为大文件"
else
echo "文件不足100行"
fi 、给定一个用户,来判断这个用户是什么用户,如果是管理员用户,则显示“该用户为管理员”,否则显示“该用户为普通用户”
#!/bin/bash
read -p "输入用户:" username
echo $username
a=`id -u $username`
echo "$a"
if [ $a -lt ];
then
echo "该用户是管理员用户"
else
echo "该用户为普通用户"
fi 、判断某个文件是否存在
#/bin/bash
read -p "输入一个文件:" file
ex=`ls $file`
if [ $ex == "ls: cannot access e: No such file or directory" ]
then
echo "无此文件"
else
echo "有此文件"
fi
、判断当前系统上是否有用户的默认shell程序是否为bash程序,如果有,就显示有多个这类用户,否则就显示没有这类用户;【并且显示出那些用户是bash】
#!/bin/bash
grep "\<bash$" /etc/passwd &> /dev/null
retal= $?
if [ $retal== ];
then
Users=`grep "\<bash$" /etc/passwd`
echo $Users
else
echo "没有用户"
fi 、写出一个脚本程序,给定一个文件,比如:/etc/inittab a、判断这个文件中是否有空白行? b、如果有,则显示其空白行的行号,否则显示没有空白行
#!/bin/bash
read -p "请输入文件名称:" file
c=`grep ^$ $file|wc -l`
if [ $c -gt ];then
echo $c
else
echo "没有空白行"
fi 、写一个脚本程序,给定一个用户,判断其UID与GID是否一样,如果一样,就显示该用户为“good guy”,否则显示为“bad guy”
#!/bin/bash
read -p "输入一个用户名:" user
UID1=`cat /etc/passwd |grep $user| cut -d: -f3`
GID1=`cat /etc/passwd |grep $user| cut -d: -f4`
echo $UID1
echo $GID1
if [ $UID1-eq$GID1 ];
then
echo "good guy"
else
echo "bad guy"
fi 、写一个脚本程序,给定一个用户,获取其密码警告期限;然后判断用户最近一次修改密码的时间距离今天是否已经小于警告期限; 、判断命令历史中历史命令的总条目是否大于1000,如果大于,则显示“some command will gone”,否则显示OK
#!/bin/bash
num=`wc -l /root/.bash_history`
echo $num
if [ $num -gt ];
then
echo "some commed will gone"
else
echo "OK"
fi
、给定一个文件,如果是普通文件,就显示出来,如果是目录文件,也显示出来,否则就显示“无法识别”
#!/bin/bash
read -p "输入一个文件>>" file1
if [ -f `ls $file1` ];then
echo “普通文件”
elif [ -d `ls $file1` ];then
echo ”目录文件“
else
echo "无法识别"
fi
、写一个脚本,能接受一个参数(文件路径),判断这个参数如果是一个存在的文件就显示“ok”,否则显示“No such file”
#!/bin/bash
read -p "给定一个文件路径>>" file1
if [ -n `ls $file1` ];then
echo "此文件存在在"
else
echo "文件不存在"
fi
、写一个脚本,给脚本传递两个参数,显示两则之和和两者之积
#!/bin/bash
read -p "输入参数A>>" A
read -p "输入参数B>>" B
let C=$A+$B
let D=$A*$B
echo "A+B=$C"
echo "A*B=$D"
shell脚本作业的更多相关文章
- shell脚本——作业二(循环作业)
1.通过位置变量创建linux系统账户及密码 $1 是执行脚本的第一个参数,$2 是执行脚本的第二个参数 #!/bin/bash #创建用户与密码 declare -i c=0 if [ -z $1 ...
- shell脚本实现目录的“5S”作业
shell,又称为命令解释器.首先它是一个软件,有很多个版本,现在最流行的为bash,它作为用户和内核沟通的中间桥梁,在系统中起着举足轻重的作用 shell脚本,是一个以.sh结尾的文件,里面是诸如l ...
- 【转】linux 定时执行shell脚本
在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 本文讲述crontab具体用法,以供备忘. 在oracle ...
- MySQL 使用XtraBackup的shell脚本介绍
mysql_backup.sh是关于MySQL的一个使用XtraBackup做备份的shell脚本,实现了简单的完整备份和增量备份.以及邮件发送备份信息等功能.功能目前还比较简单,后续将继续完善和增加 ...
- FTP定时批量下载文件(SHELL脚本及使用方法 )
1. 脚本实例 将以下脚本保存为 getftp.sh #!/bin/bash datesign=`date -d -95day +%Y%m%d` ftp -nv 12.2.2.28 << ...
- Linux中使用crontab命令定时执行shell脚本或其他Linux命令
使用crontab你可以在指定的时间执行一个shell脚本或者一系列Linux命令.例如系统管理员安排一个备份任务使其每天都运行 如何往 cron 中添加一个作业? # crontab –e0 5 * ...
- Linux/Unix shell 脚本中调用SQL,RMAN脚本
Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可 ...
- 《Linux命令行与shell脚本编程大全》 第二十二章 学习笔记
第二十二章:使用其他shell 什么是dash shell Debian的dash shell是ash shell的直系后代,ash shell是Unix系统上原来地Bourne shell的简化版本 ...
- Shell 脚本模拟 milter 实现黑白名单及关键词过滤
程序执行流程:1. 开始接受邮件.2. 检查发件人是否在黑名单内,如果是拒绝接受;否则继续3. 检查发件人是否在白名单内,如果是接收邮件;否则继续4. 对邮件进行关键字过滤,如果邮件中包含被过滤的关键 ...
随机推荐
- ZUK Z2 AospExtended-v6.7 Android 9.0可用的谷歌相机Mod.md
目录 参考资料 系统版本: AospExtended-v6.7-z2_plus-20190821-1940-OFFICIAL.zip cstark27 ×PXv4.1.1_GoogleCamera_7 ...
- 一百一十二:CMS系统之前台用户模型
安装shortuuid用于前台用户的主键:pip install shortuuid 创建模型 from datetime import datetimeimport enumfrom werkzeu ...
- v-for与v-if的优先级
原文地址 永远不要把 v-if 和 v-for 同时用在同一个元素上. 一般我们在两种常见的情况下会倾向于这样做: 为了过滤一个列表中的项目 (比如 v-for="user in users ...
- CTF—攻防练习之Capture the Flag
主机:192.168.32.152 靶机:192.168.32.160 首先nmap扫描端口: ftp,ssh,http服务 dirb扫描目录,flag下有一个flag password目录下,查看源 ...
- Linux下的I/O复用与epoll详解(转载)
Linux下的I/O复用与epoll详解 转载自:https://www.cnblogs.com/lojunren/p/3856290.html 前言 I/O多路复用有很多种实现.在linux上,2 ...
- PTA(Basic Level)1033.旧键盘打字
旧键盘上坏了几个键,于是在敲一段文字的时候,对应的字符就不会出现.现在给出应该输入的一段文字.以及坏掉的那些键,打出的结果文字会是怎样? 输入格式: 输入在 2 行中分别给出坏掉的那些键.以及应该输入 ...
- C++ 包含目录、库目录、附加包含目录、附加库目录、附加依赖项之详解(转)
最近因为接触机器学习,所有涉猎到C++方面的开发.在c++中有几个概念很迷糊. VS项目中的包含目录.库目录.附加包含目录.附加库目录.附加依赖项均在"项目->属性->配置属性& ...
- 手动导入jar到本地mvn仓库
<dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId ...
- 植物大战僵尸:寻找阳光掉落Call调用
实验目标:通过遍历阳光产生的时间,寻找阳光产生的本地Call,使用代码注入器注入,自定义生成阳光 阳光CALL遍历技巧: 进入植物大战僵尸-> 当出现阳光后->马上搜索未知初始数值 返回游 ...
- 《深入理解 java 虚拟机》学习 -- 内存分配
<深入理解 java 虚拟机>学习 -- 内存分配 1. Minor GC 和 Full GC 区别 概念: 新生代 GC(Minor GC):指发生在新生代的垃圾收集动作,因为 Java ...