全球主机交流论坛

标题: 一键输出IP地址网关和mask,妈妈再也不用担心我重装系统了 [打印本页]

作者: 佳辉的春天    时间: 2022-12-23 19:47
标题: 一键输出IP地址网关和mask,妈妈再也不用担心我重装系统了
目前的脚本都需要手动输入IP地址信息,如果VPS的IP是静态的话,找到这些信息虽然不麻烦但是也不是一建的.
这个代码好哈,一键输出
  1. MAINIP=$(ip route get 1 | awk -F 'src ' '{print $2}' | awk '{print $1}')
  2. GATEWAYIP=$(ip route | grep default | awk '{print $3}' | head -1)
  3. SUBNET=$(ip -o -f inet addr show | awk '/scope global/{sub(/[^.]+\//,"0/",$4);print $4}' | head -1 | awk -F '/' '{print $2}')

  4. value=$(( 0xffffffff ^ ((1 << (32 - $SUBNET)) - 1) ))
  5. NETMASK="$(( (value >> 24) & 0xff )).$(( (value >> 16) & 0xff )).$(( (value >> 8) & 0xff )).$(( value & 0xff ))"

  6. echo "IP: $MAINIP" "网关: $GATEWAYIP" "网络掩码: $NETMASK"
复制代码

作者: zxxx    时间: 2022-12-23 19:49
IP: 10.0.1.76 网关: 10.0.0.1 网络掩码: 255.255.248.0


好用!收藏!
作者: 佳辉的春天    时间: 2022-12-23 20:09
zxxx 发表于 2022-12-23 19:49
好用!收藏!

改成这样,更加丝滑
  1. MAINIP=$(ip route get 1 | awk -F 'src ' '{print $2}' | awk '{print $1}')
  2. GATEWAYIP=$(ip route | grep default | awk '{print $3}' | head -1)
  3. SUBNET=$(ip -o -f inet addr show | awk '/scope global/{sub(/[^.]+\//,"0/",$4);print $4}' | head -1 | awk -F '/' '{print $2}')

  4. value=$(( 0xffffffff ^ ((1 << (32 - $SUBNET)) - 1) ))
  5. NETMASK="$(( (value >> 24) & 0xff )).$(( (value >> 16) & 0xff )).$(( (value >> 8) & 0xff )).$(( value & 0xff ))"

  6. echo "--ip-addr $MAINIP --ip-gate $GATEWAYIP --ip-mask $NETMASK"
复制代码

作者: zxxx    时间: 2022-12-31 13:31
佳辉的春天 发表于 2022-12-23 20:09
改成这样,更加丝滑

这样DD的时候更方便了
作者: gick    时间: 2022-12-31 13:41
佳辉的春天 发表于 2022-12-23 20:09
改成这样,更加丝滑

这个一键太牛比了




欢迎光临 全球主机交流论坛 (https://443502.xyz/) Powered by Discuz! X3.4