使用bash脚本写wpa_cli命令的时候遇到的变量传递的问题

如题,我在使用 wpa_cli 这个命令写入wifi信息的时候感觉每次都要打很长的代码
于是写了一个bash脚本想使得写入更加轻松,但是在写入的时候遇到了变量调用的问题
希望大家能看一看哪里出了问题
代码大概如下:

read -p "intput a SSID:" ssid
read -p "input password of $ssid :" psk

a= ./wpa_cli -i wlp5s0 add_network
./wpa_cli -i wlp5s0 set_network $a ssid '"$ssid"'
./wpa_cli -i wlp5s0 set_network $a psk '"$psk"'

如上所示 ./wpa_cli -i wlp5s0 add_network 这个命令会返回给窗口一个值(networkid),是这样子的
图片说明
于是我希望用 a= ./wpa_cli -i wlp5s0 add_network 这样一个命令来获取这个返回值,证明后发现是不可以的,那么我怎么样能够获得 ./wpa_cli -i wlp5s0 add_network这个命令返回给我的network id的值呢?

然后的问题也随之而来,使用 wpa_cli 命令设置这个网络的ssid和psk需要用到
$ wpa_cli -i wlan0 set_network 0 ssid '"name"'
$ wpa_cli -i wlan0 set_network 0 psk '"psk"'
这两种命令
图片说明
这里面的name和psk外面包的是单引号加上双引号
而我想用之前获取的ssid和psk还有networkid来完成同样的操作
a= ./wpa_cli -i wlp5s0 add_network
./wpa_cli -i wlp5s0 set_network $a ssid '"$ssid"'
./wpa_cli -i wlp5s0 set_network $a psk '"$psk"'
这里面被单双引号包括的$ssid和$psk还是一个变量了吗
而运行了这个脚本之后发现确实存在问题
networkid也没有成功的用$a变量替换掉,ssid和psk也没有
图片说明
如图所示
请问大神们有什么方法能让我在单双引号中调用这个变量呢,转义符可以吗?

说了这么多 主要问题应该在于如何在 ‘ “ ” ’ 中引入变量
and
如何能获得创建的network id的值到一个变量上?

0

1个回答

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!