shell ping 获取ip的两种方法
使用 sed
ping -c1 www.shelljiaoben.com | sed -nE 's/^PING[^(]+\(([^)]+)\).*/\1/p'
使用 grep
ping www.shelljiaoben.com -c1 | head -1 | grep -Eo '[0-9.]{4,}'
使用 sed
ping -c1 www.shelljiaoben.com | sed -nE 's/^PING[^(]+\(([^)]+)\).*/\1/p'
使用 grep
ping www.shelljiaoben.com -c1 | head -1 | grep -Eo '[0-9.]{4,}'
#!/bin/bash
IP_HEAD='192.168.1.'
> ans.txt
ts=0
for i in {1..254}
do
{
ip=IP_HEADi
#echo ip
n=`ping -i 0.01 -c 3ip | grep 'trans' | grep -oP '\d*\s(?=rece)'`
echo nip >> ans.txt
}&
done
i=0
while true
do
sleep 1
let i++
# 最多执行100秒
if (( i>=100)); then
break;
fi
n=`cat ans.txt | wc -l`
echo "i: 完成n 条, 共计 254 条"
if (( n == 254 )); then
break;
fi
done
echo -e "--- \nping 同的地址有"
cat ans.txt | grep -oP '(?<=[1-9]\s).*' | sort -n -k 4 -t .
exec 是shell 中一个非常有用的程序,用来替换当前的程序。 比如下面的脚本,如果不使用 exec 正常是没法退出的,使用 exec 后当你输入的值正确时,就自动退出了。
继续阅读shell exec 接管并替换当前的进程
shell中使用判断有 文件类型的判断,字符串类型的判断,整数类型的判断,逻辑类型的判断。
继续阅读shell中的判断使用总结
linux 中 du 命令可以查看目录的大小,有时候需要跳过指定的目录,可以使用 --exclude。
继续阅读du 可以通过通过 –exclude 跳过指定的目录
systemd 查看所有开机启动项可以使用 systemctl list-unit-files | grep enabled
继续阅读systemd 查看所有开机启动项
/usr/bin/bash 直接指定了,当前的脚本通过什么程序解析执行。而 #! /usr/bin/env bash 则是间接地的说明了当前的脚本需要通过脚本程序执行。
继续阅读#! /usr/bin/env bash 和 /usr/bin/bash 的区别是什么?
写shell脚本,需要处理的一个字符串,就是把一个字符串的首字母变成大写的。
继续阅读shell 把第一个字符 变成大写的命令
pstree 是一个可以查看进程数的命令。 如果在系统中执行的时候,发现没有这个命令,安装一下 psmisc 即可。
继续阅读-bash: pstree: 未找到命令 怎么解决,需要安装( psmisc )
linux 中 sort 命令用来排序, 默认是字符的比较, 使用 -n 可以对数字进行排序,有时候需要处理文件的大小,文件的大小单位,可能是 kb, mb ,gb等.
继续阅读sort 排序使用 -h 自动的处理 kb mb gb