linux获取本机和目标机器的IP和主机名
系统 | 配置 | IP |
---|---|---|
Centos7.9 | 2c4g | 192.168.8.182 |
Centos7.9 | 2c4g | 192.168.8.182 |
效果
简洁版
优化版
简洁版
#!/bin/bash
#!!!!!!!!!!!!!!!!!!!!执行这个脚本时,目标端需要允许SSH连接
hostname=$(hostname)
ip_address=$(hostname -I | awk '{print $1}')
echo "本机主机名: $hostname"
echo "本机IP地址: $ip_address"
# 获取目标端的主机名和IP地址(假设目标端IP存储在变量target_ip中)
read -p "请输入目标端IP地址: " target_ip
target_hostname=$(ssh $target_ip "hostname")
# 获取目标端的第一个非回环IP地址
target_ip_address=$(ssh $target_ip "hostname -I | awk '{for(i=1;i<=NF;i++) if(\$i != \"127.0.0.1\") {print \$i; exit}}'")
echo "目标端主机名: $target_hostname"
echo "目标端IP地址: $target_ip_address"
简洁版和优化版区别是优化版添加了字体颜色和注释
优化版
#!/bin/bash
# 该脚本用于获取本机及目标主机的主机名和IP地址。
# 请注意,在运行此脚本时,目标主机需要允许SSH连接。 # 获取本机的主机名并存储在变量hostname中
hostname=$(hostname) # 获取本机的第一个IP地址并存储在变量ip_address中
ip_address=$(hostname -I | awk '{print $1}') # 输出本机的主机名
echo "本机主机名: $hostname" # 输出本机的IP地址
echo "本机IP地址: $ip_address" # 提示用户输入目标主机的IP地址,并将输入存储在变量target_ip中
read -p "请输入目标端IP地址: " target_ip # 使用SSH连接到目标主机,获取目标主机的主机名
target_hostname=$(ssh $target_ip "hostname") # 使用SSH连接到目标主机,获取第一个非回环IP地址
target_ip_address=$(ssh $target_ip "hostname -I | awk '{for(i=1;i<=NF;i++) if(\$i != \"127.0.0.1\") {print \$i; exit}}'") # 输出目标主机的主机名
echo "目标端主机名: $target_hostname" # 输出目标主机的IP地址
echo "目标端IP地址: $target_ip_address"