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、写一个脚本程序,给定一个用户,获取其密码警告期限;然后判断用户最近一次修改密码的时间距离今天是否已经小于警告期限;
#!/bin/bash
W=`grep "dmm" /etc/shadow | cut -d: -f6`  
S=`date +%s`    
T=`expr $S/86400`  
L=`grep "^dmm" /etc/shadow | cut -d: -f5`    
N=`grep "^dmm" /etc/shadow | cut -d: -f3`    
SY=$[$L-$[$T-$N]]      
if [ $SY -lt -$W ]; then
echo "Worning"
else
echo "OK"
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
11、写一个脚本,给脚本传递两个参数,显示两则之和和两者之积
#!/bin/bash
sum=$(($1+$2))
product=$(($1*$2))
echo $sum
echo $product

简单的shell练习的更多相关文章

  1. 如何写一个简单的shell

    如何写一个简单的shell 看完<UNIX环境高级编程>后我就一直想写一个简单的shell来作为练习,因为有事断断续续的写了好几个月,如今写了差不多来总结一下. 源代码放在了Github: ...

  2. 第十三章、学习 Shell Scripts 简单的 shell script 练习

    简单的 shell script 练习 简单范例 对谈式脚本:变量内容由使用者决定 [root@www scripts]# vi sh02.sh #!/bin/bash # Program: # Us ...

  3. 一个简单的shell脚本

    一个简单的shell脚本 一个简单的shell脚本 编写 假设我想知道目前系统上有多少人登录,使用who命令可以告诉你现在系统有谁登录: 1.[KANO@kelvin ~]$ who2.KANO tt ...

  4. Linux系统学习笔记之 1 一个简单的shell程序

    不看笔记,长时间不用自己都忘了,还是得经常看看笔记啊. 一个简单的shell程序 shell结构 1.#!指定执行脚本的shell 2.#注释行 3.命令和控制结构 创建shell程序的步骤 第一步: ...

  5. 编辑简单的 shell程序

    编辑简单的 shell程序 知道了vi编辑器的使用规则之后,结合shell的使用规则,可以编辑简单的 shell程序试试手 题目如下: 1.用while语句创建一个根据输入的数值求累加和(1+2+3+ ...

  6. Python3学习之路~2.8 文件操作实现简单的shell sed替换功能

    程序:实现简单的shell sed替换功能 #实现简单的shell sed替换功能,保存为file_sed.py #打开命令行输入python file_sed.py 我 Alex,回车后会把文件中的 ...

  7. 实现一个简单的shell

    使用已学习的各种C函数实现一个简单的交互式Shell,要求:1.给出提示符,让用户输入一行命令,识别程序名和参数并调用适当的exec函数执行程序,待执行完成后再次给出提示符.2.该程序可识别和处理以下 ...

  8. 3-1 实现简单的shell sed替换功能

    1.需求 程序1: 实现简单的shell sed替换功能 file1 的内容copy到file2 输入参数./sed.py  $1  $2 $1替换成$2 (把a替换成% ) 2.个人思路 open ...

  9. python定义的一个简单的shell函数的代码

    把写代码过程中经常用到的一些代码段做个记录,如下代码段是关于python定义的一个简单的shell函数的代码. pipe = subprocess.Popen(cmd, stdout=subproce ...

  10. 4.实现简单的shell sed替换功能

    # -*- coding:utf-8 -*- # Author: JACK ZHAO # 程序1: 实现简单的shell sed替换功能 import sys #判断参数个数 if len(sys.a ...

随机推荐

  1. R-ets()

    前情需知 指数预测模型 指数模型是用来预测时序未来值的最常用模型.这类模型相对比较简单,但是实践证明它们的短期预测能力较好.不同指数模型建模时选用的因子可能不同.比如 单指数模型(simple/sin ...

  2. From 7.8 To 7.14

    From 7.8 To 7.14 大纲 学科 英语的话每天早上背单词, 争取每天做一篇完型, 一篇阅读, 一篇短文填空, 一篇改错, 一篇七选五??? 似乎太多了, 先试一下吧 语文的话, 尝试翻译一 ...

  3. 【软件工程】Alpha冲刺(1/6)

    链接部分 队名:女生都队 组长博客: 博客链接 作业博客:博客链接 小组内容 恩泽(组长) 过去两天完成了哪些任务 描述 了解了反馈机制的实现原理 确定好算法的框架 对接口的规范化进行学习 展示Git ...

  4. ubuntu关于ssh协议登录问题

    说明 初始化系统默认不安装ssh如果你想要通过crt等工具连接,你需要手动安装ssh 1.安装ssh工具 使用ubuntu安装的命令sudo apt-get install openssh-serve ...

  5. [Python]python-jenkins获取正在构建中的job

    需求: 我现在需要完成1个接口,这个接口会启动jenkins构建jobA, jobA构建结束, 返回job的构建结果 思路: 首先使用get_job_info获取最后1次构建的构建序号,然后再通过ge ...

  6. 获取packageName和startActivity

    import android import pprint # 获取packageName droid = android.Android(('192.168.1.101', 42250)) droid ...

  7. "美团"APP学习记录知识点

    1.APP进入加载广告视图展示: -(void)initAdvView{ // 判断图片是否已经存在 NSArray *paths = NSSearchPathForDirectoriesInDoma ...

  8. iOS上传图片问题

    今天一定得写一篇博客,有以下原因: 1>第一次做图片上传的功能,算是一种记录吧; 2>在这个问题上,纠结,迷茫了很久,主要还是被后台坑了; 1.上传图片的方法是用的AFNetWorking ...

  9. offset Dimensions 详解

    1. <Professional JavaScript for web developer>  Offset dimensions incorporate all of the visua ...

  10. Element Children

    The childNodes property contains all of the immediate children of the element. There is a significan ...