shell获取网口和ip,选择网口Ip列表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | #!/bin/sh array=() getEno(){ network_name=`ifconfig |awk '{print $1}' | grep :|awk -F: '{print $1}' ` # 按网卡名遍历 for net_name in ${network_name} do if [ ${net_name} = 'lo' ] then continue fi ifconfig_num=`ifconfig ${net_name}| grep 'IEEE' |wc -l` if [ ${ifconfig_num} -ge 1 ] then running_num=`ifconfig ${net_name}| grep RUNNING|wc -l` if [ ${running_num} -ge 1 ] then wireless_name=${net_name} wireless_ip=`ifconfig ${wireless_name}| grep 'inet' |awk '{print $2}' |sed -n '1p' ` array=( "${array[@]}" ${wireless_name},${wireless_ip}) else wireless_name=${net_name} wireless_ip=`ifconfig ${wireless_name}| grep 'inet' |awk '{print $2}' |sed -n '1p' ` array=( "${array[@]}" ${wireless_name},${wireless_ip}) fi else running_num=`ifconfig ${net_name}| grep RUNNING|wc -l` if [ ${running_num} -ge 1 ] then wired_name=${net_name} wired_ip=`ifconfig ${wired_name}| grep 'inet' |awk '{print $2}' |sed -n '1p' ` array=( "${array[@]}" ${wired_name},${wired_ip}) else wired_name=${net_name} wired_ip=`ifconfig ${wired_name}| grep 'inet' |awk '{print $2}' |sed -n '1p' ` array=( "${array[@]}" ${wired_name},${wired_ip}) fi fi done } getIpAddr() { getEno num=${ #array[@]} if [ $num -ge 1 ];then echo -e "\033[035m******************************\033[0m" echo -e "\033[036m* 请选择本机真实IP地址(序号) \033[0m" for ((i=0;i<${ #array[@]};i++)) do echo -e "\033[032m* 【$i】 ${array[i]} \033[0m" done echo -e "\033[035m******************************\033[0m" input= "" while : do read -r -p "*请选择配置文件的本机IP地址(序号): " input expr $input + 1 >/dev/null 2>&1 if [ $? -ne 0 ];then echo "*请输入有效的序号:" else if [ $(( $input )) -ge 0 ] && [ $(( $input )) -lt $(( $num )) ];then local_ip=${array[ $input ]} break else echo "请输入有效范围的序号:" fi fi done else echo -e "\033[31m*未设置网卡IP,请检查服务器环境! \033[0m" exit 1 fi } local_ip= '' getIpAddr array=(${local_ip//,/ }) ip= '' num=${ #array[@]} enp=${array[0]} echo $enp ip=${array[1]} echo $ip |
效果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决