SHELL脚本编程进阶(1)

1、编写脚本实现传入进程pid,查看对应进程/proc下CPU、内存指标

#!/bin/bash
ps -Lo %cpu,%mem -p `pgrep $1`

2、编写脚本实现每分钟检查一个主机端口是否存活(提示使用namp),如果检查到端口不在线,sleep10s,如果三次都存在,记录到日志

#!/bin/bash
i=0
while :;do
        jieguo=`nmap -p$2 $1 |sed -nr 's/^[0-9]+.* ([^ ]+) .*/\1/p'`
        if [[ "$jieguo" =~ "closed" ]];then
                let i++
                if [ $i -eq 3 ];then
                        echo " $2 is closed in `date +%F-%H-%M-%S`" >>chport.log
                else
                        sleep 10
                        continue
                fi
        fi
        i=0
        sleep 60
done

3、编写脚本/root/bin/excute.sh,判断参数文件是否为sh后缀的普通文件,如果是,添加所有人可执行权限,否则提示用户非脚本文件

#!/bin/bash
if [[ $1 =~ .*\.sh ]];then
        if [ -f $1 ];then
                chmod +x $1
                exit
        fi
fi
echo "It's not a shell script file"

4、编写脚本/root/bin/nologin.sh和login.sh实现禁止和允许普通用户登录系统

#!/bin/bash
usermod -s /sbin/nologin $1
#!/bin/bash
usermod -s /bin/bash $1

5、编写脚本/root/bin/sumid.sh,计算/etc/passwd文件中的第10个用户和第20个用户的ID之和

#!/bin/bash
n1=`sed -nr '10s/[^:]*:[^:]:([^:]*):.*/\1/p' /etc/passwd`
n2=`sed -nr '20s/[^:]*:[^:]:([^:]*):.*/\1/p' /etc/passwd`
echo $[$n1+$n2]
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 5,808评论 0 10
  • bash中变量的种类 局部变量:生效范围为当前shell进程,对当前shell之外的其它shell进程,包括当前s...
    毛利卷卷发阅读 423评论 0 1
  • 1.创建文件夹 !/bin/sh mkdir -m 777 "%%1" 2.创建文件 !/bin/sh touch...
    BigJeffWang阅读 10,186评论 3 53
  • 第 2 章 SHELL 基础知识2.1 shell脚本我们在上面简单介绍了一下什么是shell脚本,现在我们来进一...
    LiWei_9e4b阅读 1,591评论 0 0
  • 流程控制 if 单条件 双分支 多分支 case case支持glob风格的通配符: *: 任意长度任意字符?: ...
    毛利卷卷发阅读 772评论 0 1