iwconfigを変数に保存する

iwconfigを変数に保存する

iwconfigファイルの変数にリンク品質(パーセント)を割り当てようとしています.sh。私が作っているconkyテーマです。これを行うには、次のものがあります。

lnk=$(iwconfig mlan0 | awk '/Link Quality/{split($2,a,"=|/");print int((a[2]/a[3])*100)}')

コマンドラインにこのコマンドを入力すると機能します。しかし、スクリプトファイルでは動作しないか、少なくとも動作しないようです。私はecho $lnkそれに従うことができ、何も返しません。本当に興味深いのは、これは以前も機能していましたが、ディストリビューションをMintからMX Linuxに変更したことです。これがどのようなものにどれだけ大きな影響を与えるかはわかりませんが、それが私が仕事をやめる前に私が行った唯一の変更でした。

もう1つのことは、バッテリーレベルを取得するためにこのスクリプトに基づいて非常によく似たスクリプトを使用することです。良い結果。しかし、なぜこれが突然もう機能しないのか理解できません。

修正する- 何が間違っているかはわかりませんでしたが、解決策を見つけました。私は必要な情報を取得し、そこでそれを操作するために.shファイルを使用するのではなく、conkyテンプレートから直接これを行うことにしました。希望の出力を取得する方法は常にいくつかあります。

とにかく、それだけの価値があることに感謝します。

答え1

クラシックですか?ベルンシェルバックティック建設に基づいて働く?

以下のスクリプトのように...

#!/bin/sh
LINK_Q="`iwconfig mlan0 | awk '/Link Quality/{split($2,a,"=|/");print int((a[2]/a[3])*100)}')`"
echo "$LINK_Q"

そうでない場合、Conkyがスクリプトを実行するために使用するシェルの正確なブランドとバージョンを知る方法はありますか?

PS GNU/Linux ディストリビューションを変更する場合は、インターフェース名も確認してください。

関連情報