wifi自动连接脚本

news/2024/7/4 10:03:31/文章来源:https://www.cnblogs.com/linux-learn/p/18278109

#!/bin/sh
#
# Start the wifi....
#

# Debian ifupdown needs the /run/wifi lock directory
mkdir -p /run/wifi

#自定义变量
interface_dev="wlan0"
wifi_name="xxxx"
wifi_password="xxxx"

#执行wpa_cli前先调用wpa_supplicant不然不成功,不知道为何
wpa_supplicant -i wlan0 -c/etc/wpa_supplicant.conf & iwconfig wlan0

func_connect_wifi()
{
  echo "WIFI设备:$interface_dev"

  #查询interface_dev网卡是否存在

  verifi_dev=`ifconfig|grep -ci "$interface_dev"` 

  if [[ $verifi_dev == 0 ]];then
    echo "该设备不存在"
    exit -1
  fi

  wifi_id=`wpa_cli -i $interface_dev add_network`
  echo "准备建立新连接 wifi_id = $wifi_id"
  wpa_cli -i $interface_dev scan
  echo "当前环境WiFi信息:"
  wpa_cli -i $interface_dev scan_result

  result=$(wpa_cli -i $interface_dev set_network $wifi_id ssid \"$wifi_name\")
  echo "result = $result"
  if [[ $result != "OK" ]];then
    echo "WIFI热点查找失败"
    wpa_cli -i wlan0 remove_network $wifi_id
    exit -1
  fi

  result2=$(wpa_cli -i $interface_dev set_network $wifi_id psk \"$wifi_password\")
  if [[ $result2 != "OK" ]];then
    echo "WIFI密码错误连接失败"
    wpa_cli -i wlan0 remove_network $wifi_id
    exit -1
  fi

  result3=$(wpa_cli -i $interface_dev enable_network $wifi_id)
  echo "result = $result"
  if [[ $result3 != "OK" ]];then
    echo "连接失败"
    wpa_cli -i wlan0 remove_network $wifi_id
    exit -1
  fi

  result4=$(wpa_cli -i $interface_dev select_network $wifi_id)
  echo "result = $result4"
  if [[ $result3 != "OK" ]];then
    echo "WiFi切换失败"
    exit -1
  fi
  echo "WiFi已切换开始自动分配IP"
  resule5=$(udhcpc -b -i $interface_dev -q)
  echo "连接完成"
  exit 0
}

func_dele_wifi()
{
  echo "WIFI关闭设备:$interface_dev"

  verifi_dev=`ifconfig|grep -ci "$interface_dev"`
  if [[ $verifi_dev == 0 ]];then
    echo "该设备不存在"
    exit -1
  fi
  echo "当前WiFi列表"
  wpa_cli -i $interface_dev list_network
  echo "选择删除对象"
  read wifi_id
  wpa_cli -i $interface_dev remove_network $wifi_id
}

case "$1" in
  start)
    printf "Starting wifi: "
    func_connect_wifi
    [ $? = 0 ] && echo "OK" || echo "FAIL"
    ;;
  stop)
    printf "Stopping wifi: "
    func_dele_wifi
    [ $? = 0 ] && echo "OK" || echo "FAIL"
    ;;
  restart|reload)
    "$0" stop
    "$0" start
    ;;
  *)
  echo "Usage: $0 {start|stop|restart}"
  exit 1
esac

exit $?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/735811.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Identity-aware Graph Neural Networks

目录概ID-GNNYou J., Gomoes-Selman J., Ying R. and Leskovec J. Identity-aware graph neural networks. AAAI, 2021.概 提出了一种能够超越 1-WL-Test 的 GNN. ID-GNNID-GNN 的 motivation 主要如下:主要到, 传统的 MPNN, 即第 \(k\) 层: \[\mathbf{m}_u^{(k)} = \text{MSG}…

AMM论文阅读笔记

AMM: Attentive Multi-field Matching for News Recommendation论文阅读笔记 Abstract 现存的问题: ​ 个性化新闻推荐是帮助用户找到感兴趣新闻的关键技术,而如何精确匹配用户兴趣和候选新闻是新闻推荐的核心。现有研究一般通过聚合用户浏览过的新闻来学习用户的兴趣向量,…

没有MAC电脑,如何申请苹果开发证书、上架APP Store?

【引言】 使用uni-app进行跨平台APP开发时,苹果ios平台最终还是要通过APP Store渠道发布,调试时uni-app基座也必须使用开发者证书签名后才能安装。对于使用MAC电脑的开发者,倒也不存在什么大障碍,照着文档操作就行,但是对于不使用MAC电脑,身边也没有MAC电脑,采购预算又紧…

知网文献下载助手 ——油猴脚本推荐

知网文献下载收费太贵了,只能逼我去找脚本来下载了。 在Greasyfork尝试了很多个脚本,坑爹的比较多,对比下来,我觉得这个“知网下载助手”比较容易用, 当然是纯免费的,需要的可以试试:知网下载助手https://greasyfork.org/zh-CN/scripts/492511

类人型自主机器人会打太极拳,但功夫很弱-斯坦福HumanPlus机器人

原文链接:https://newatlas.com/robotics/autonomous-humanoid-robot-shadows-humans/ The HumanPlus, with a 0-0 record, lands a 1, 2 left, right punch Stanford Humanplus HumanPlus以0比0的战绩,命中了1次左、右两拳。 斯坦福…

Rougamo、Fody 实现静态Aop

最近在看项目,看到别人使用Rougamo框架,好奇花了点时间仔细研究了,在这里记录一下。 0. 静态编织 Aop 首先,我们先了解什么是Aop? Aop 是指面向切面编程 (Aspect Oriented Programming),而所谓的切面,可以认为是具体拦截的某个业务点。 我们常用的aop框架是 AspectCore,…

WhaleStudio 2.6正式发布,WhaleTunnel同步性能与连接器数量再创新高!

在这个数据驱动的大模型时代,数据集成的作用和意义愈发重要。数据不仅仅是信息的载体,更是推动企业决策和创新的关键因素。作为全球最流行的批流一体数据集成工具,WhaleTunnel随着WhaleStudio 2.6版本正式发布,带来了多项功能增强和新特性,性能大幅提升,连接器和功能方面…

代码随想录算法训练营第四十二天 | 1049最后一块石头的重量II 494.目标和 474.一和零

1049.最后一块石头的重量 题目链接 文章讲解 视频讲解解题思路:将石头尽量分为相等的两堆,两堆最差即为所求结果石头的重量就是石头的价值动规五部曲:dp[j]:表示背包容量为j时可以装的石头的总价值 递推公式:dp[j] = max(dp[j], dp[j-stones[i]] + stones[i] 初始化:均初…

Apache DolphinScheduler社区又一PMC获推选通过!

PROFILE姓名:程鑫 公司:阿里云 职位:开发工程师 Github ID: rickchengx 从事领域:大数据调度系统开发 兴趣爱好:健身推举理由 他于2022年8月2日开始了他的DolphinScheduler之旅,在社区工作了将近两年,并于2023年5月12日成为Committer。成为Committer后的一年里,他继续保…

BOSHIDA 探讨DC/AC电源模块为绿色能源应用提供可靠的转换解决方案

BOSHIDA 探讨DC/AC电源模块为绿色能源应用提供可靠的转换解决方案 DC/AC电源模块是一种能够将直流电源转换为交流电源的装置。随着绿色能源的不断发展和应用,DC/AC电源模块在可再生能源、电动车辆、太阳能发电等领域中扮演着重要的角色。本文将着重探讨DC/AC电源模块为绿色能源…

Centos7 安装Rabbitmq3.9.11

安装erlang 安装依赖包yum -y install gcc glibc-devel make ncurses-devel openssl-devel xmlto perl wget gtk2-devel binutils-devel下载wget https://github.com/erlang/otp/releases/download/OTP-24.1.7/otp_src_24.1.7.tar.gz解压tar -zxvf otp_src_24.1.7.tar.gz转移到…

mysql数据库简介

一、数据库介绍 1.数据库基本概念 数据(Data) 描述事物的符号记录 包括数字,文字、图形、图像、声音、档案记录等 以“记录”形式按统一的格式进行存储 表 将不同的记录组织在一起 用来存储具体数据 数据库 表的集合,是存储数据的仓库 以一定的组织方式存储的相互有关的数据…

mac 电脑查看已安装的谷歌插件

1、打开谷歌浏览器 地址栏上面输入  chrome://version/ 2、找到 个人资料路径: /Users/admin/Library/Application Support/Google/Chrome/Default3、打开个新窗口 地址了上输入:个人资料路径 ,并找到 Extensions/ 文件夹 4、里面都是已安装的谷歌插件, 想要哪个插件…

Nordic nRF Connect SDK(NCS) VS Code 安装记录

1.Nordic SDK Nordic有2套并存的SDK:老的nRF5 SDK和新的nRF Connect SDK(NCS),两套SDK相互独立,大家选择其中一套进行开发即可。 一般而言,如果你选择的芯片是nRF51或者nRF52系列,那么推荐使用nRF5 SDK。 如果你选择的是Nordic最新产品系列,比如nRF53或者nRF9160,那么…

浅谈 K8s Service 网络机制

浅谈 K8s Service 网络机制 云原生运维圈 2024-07-01 12:03 上海 1人听过以下文章来源于腾讯云原生 ,作者王成腾讯云原生. 云原生技术交流阵地,汇聚云原生最新技术资讯、文章、活动,以及云原生产品及用户最佳实践内容。王成,腾讯云研发工程师,Kubernetes member,从事数据…

全新升级!中央集中式架构功能测试为新车型保驾护航

目前,文中所述功能测试新方案均已应用于国内多款新架构车型的研发,得到了广泛认可。 “软件定义汽车”新时代下,整车电气电气架构向中央-区域集中式发展已成为行业共识,车型架构的变革带来更复杂的整车功能定义、更多的新技术的应用(如SOA服务化、智能配电等)和更…

江门MES制造执行系统:助力工厂实现智能化管理

江门MES制造执行系统(MES)在工厂实现智能化管理方面发挥着重要作用,以下是它的一些助力方面: 实时监控与控制:江门MES系统可以实时监控生产过程中的各个环节,包括设备状态、生产进度、质量指标等,帮助工厂管理人员及时了解生产情况并做出相应的调整和控制。生产计划与排程…

搭建微信小程序

在开发小程序之前,您需要先注册微信小程序。进入小程序页面,单击前往注册,根据指引填写信息和提交相应的资料,点击注册,完成账号申请。使用申请的微信公众平台账号登录小程序后台,单击开发管理> 开发设置,可以看到小程序的AppID,请记录AppID,后续操作中需要使用。 …

《从零开始学Python》(第二版) PDF读书分享

Python 是一种面向对象、解释型计算机程序设计语言,由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。Python 语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。 Pyt…

记一次 .NET某网络边缘计算系统 卡死分析

一:背景 1. 讲故事 早就听说过有什么 网络边缘计算,这次还真给遇到了,有点意思,问了下 chatgpt 这是干嘛的 ?网络边缘计算是一种计算模型,它将计算能力和数据存储位置从传统的集中式数据中心向网络边缘的用户设备、传感器和其他物联网设备移动。这种模型的目的是在接近数…