Shell简单工具

1.修改某文件里的指定字段(修改配置文件里的IP)

思路:

# 新建一个IP.txt
ip addr:
192.168.0.112 netmask:255.255.255.0

编写脚本:

#!/bin/bash
  
path=/home/yoyo/Documents/mytest
cd $path
localIP=`hostname -I|cut -d " " -f 1`
echo "本机IP: $localIP"
oldIP=`sudo find /home/yoyo/Documents/mytest/IP.txt | xargs grep 'ip addr:' | cut -d : -f 2`
echo "文件中的IP:$oldIP"
change=`sudo find /home/yoyo/Documents/mytest/IP.txt |xargs sed -i 's/'$oldIP'/'$localIP'/g'`
echo "修改后的IP: $change"


cat IP.txt

执行效果如下:

♥真实项目例子♥


2.倒计时脚本

# 倒计时3s开始执行脚本

var1=3
while [ $var1 -gt 0 ]
do 
       echo -ne $var1
          (( var1-- ))
             sleep 1
            echo -ne "\r   \r" 
        done

 3.连ping IP地址的脚本

#!/bin/bash
for ((i=1;i<256;i++))
do
        ping -c 3 192.168.0.$i>/dev/null
         #ping -c 192.168.0.1 ~192.168.0.255
                if [[ $? -eq 0 ]] #if up $?==0
                        then echo "192.168.0.$i is alive"
                else
                        echo "192.168.0.$i isn't up"
                fi
done

4.获取进程的所有信息

#! /bin/bash
# Function: 根据用户输入的PID,过滤出该PID所有的信息
read -p "请输入要查询的PID: " P
n=`ps -aux| awk '$2~/^'$P'$/{print $11}'|wc -l`
if [ $n -eq 0 ];then
 echo "该PID不存在!!"
 exit
fi
echo "--------------------------------"
echo "进程PID: $P"
echo "进程命令:`ps -aux| awk '$2~/^'$P'$/{print $11}'`"
echo "进程所属用户: `ps -aux| awk '$2~/^'$P'$/{print $1}'`"
echo "CPU占用率:`ps -aux| awk '$2~/^'$P'$/{print $3}'`%"
echo "内存占用率:`ps -aux| awk '$2~/^'$P'$/{print $4}'`%"
echo "进程开始运行的时刻:`ps -aux| awk '$2~/^'$P'$/{print $9}'`"
echo "进程运行的时间:`ps -aux| awk '$2~/^'$P'$/{print $10}'`"
echo "进程状态:`ps -aux| awk '$2~/^'$P'$/{print $8}'`"
echo "进程虚拟内存:`ps -aux| awk '$2~/^'$P'$/{print $5}'`"
echo "进程共享内存:`ps -aux| awk '$2~/^'$P'$/{print $6}'`"
echo "--------------------------------"

原文地址:https://www.cnblogs.com/wzhqzm/p/14093836.html