我正在尝试将链接质量(百分比)分配给文件iwconfig
中的变量.sh
。这是我正在制作的一个 conky 主题。为此,我有以下几点:
lnk=$(iwconfig mlan0 | awk '/Link Quality/{split($2,a,"=|/");print int((a[2]/a[3])*100)}')
如果我在命令行输入该命令,则该命令有效。但是,在脚本文件中它不起作用,或者至少看起来不起作用。我可以echo $lnk
紧随其后,它不会返回任何内容。真正令人兴奋的是,这之前是有效的,但我将发行版从 Mint 更改为 MX Linux。我不知道这会对任何事情产生多大影响,但这是我在停止工作之前所做的唯一改变。
另一件事是,我还使用了一个非常相似的脚本,该脚本基于此脚本来获取电池电量。效果很好。但我不明白为什么这个突然不再起作用了。
更新- 虽然我还没有弄清楚出了什么问题,但我确实找到了解决方法。我决定直接在 conky 模板中执行此操作,而不是使用 .sh 文件来获取我想要的信息并从那里对其进行操作。总是有不止一种方法可以获得所需的输出。
无论如何,感谢它的价值。
答案1
是否经典伯恩贝壳反引号基于构造工作?
就像下面的脚本一样...
#!/bin/sh
LINK_Q="`iwconfig mlan0 | awk '/Link Quality/{split($2,a,"=|/");print int((a[2]/a[3])*100)}')`"
echo "$LINK_Q"
如果没有,您是否有办法知道 Conky 用于运行脚本的 shell 的确切品牌和版本?
PS 如果您更改了 GNU/Linux 发行版,还要仔细检查接口名称。