我使用了 wpa_passphrase 命令并得到了如下结果:
网络={ssid="blahblah" #psk="moreblahblah" psk=d5e532ecca53ea963e5b3b5521bb3682c53fcf5b6d55f15622027145c795b661}
我需要将“psk=[long string]”复制到我的 wpa_supplicant.conf 文件中。我该如何选择它以进行复制?然后我该使用什么命令来复制它?这样我就可以在我最喜爱的文本编辑器中按粘贴命令来粘贴它?(注:我没有鼠标)
答案1
如果您有触摸板,请突出显示文本并按Ctrl+ Shift+C复制...
以下资源描述了如何仅使用键盘进行复制/粘贴--screen/byobu:
http://www.samsarin.com/blog/2007/03/11/gnu-screen-working-with-the-scrollback-buffer/
在滚动回放模式下复制和粘贴(屏幕/byobu)
- 进入回滚模式:Ctrl++或者在 byobu 中也可以A[F7
- 将光标移动到要复制的文本的开头,点击spacebar
- 将光标移动到要复制的文本末尾并点击enter
- 要粘贴文本,请按Ctrl+ A+]或Alt+Insert
答案2
尝试这个:
wpa_passphrase | awk '/psk/ {print $4}' >> wpa.supplicant.conf
命令应删除“psk=d5e532ecca53ea963e5b3b5521bb3682c53fcf5b6d55f15622027145c795b661”部分并将其复制到 wpa.supplicant.conf 文件的末尾。如果您没有获得 wpa_passphrase 命令的正确部分,请尝试更改$4
为$3
或。$2
答案3
可能不完美,但是一种解决方法。也许您可以将输出写入文件中,然后进入文件删除不必要的文本,然后cat
将其附加到 wpa_supplicant.conf
基本上你的工作流程是:
command > rough
nano rough
这里删除不必要的文本,只保留必要的文本,即 psk
sudo sh -c "cat rough >> wpa_supplicant.conf"
或者您可以使用 vim 在可视模式下选择所需的文本。
PS 我认为对 sed 有深入了解的人会给你一个比这更简单的解决方案。
答案4
下一个 sed 命令将从输出中获取密钥(由十六进制集中的字符组成)wpa_passphrase
并将其放入临时文件中pass
。
wpa_passphrase | sed 's/.*psk=\([0-9a-f]*\).*/\1/' > pass
由于您没有鼠标,因此无法直接选择并复制它。我们将使用nano
文本编辑器插入此通行证:
nano wpa_suppliciant.conf
使用箭头键移动到所需位置,然后按Insert。输入刚刚创建的文件的名称,然后按 Enter。按+pass
退出并保存结果,然后输入 确认。CtrlXYEnter