私は bash スクリプトを開発していて、複雑な正規表現の助けが必要です...少なくとも私には複雑です!
カードをモニター モードにした後、出力のバリエーションがほとんどない可能性があります。ディストリビューションと aircrack スイートのバージョンによっては、バリエーションがほとんどありません。解析する必要があるいくつかの文字列は次のとおりです。
(mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon)
(mac80211 monitor mode vif enabled on [phy0]wlan0mon
(monitor mode enabled on wlanmon0)
(monitor mode enabled on wlanmon0
これらの文字列からインターフェイスの新しい名前を取得する必要があります...この場合は wlan0mon ですが、カードによって異なる場合があります。
ご覧のとおり、最後の括弧 ")" がある場合とない場合があります。そして、[何か]を持っていることもあれば、持っていないこともあります。これらのバリエーションで「on」(onの後のスペースに注意)から最後まで取る必要があります...アプローチはありますが、喜びはありません。「]」を含む文字列でのみ機能し、すべての可能性を回避する方法がわかりません。
[[ ${new_interface} =~ ^(.*)\]+([a-zA-Z0-9]+)\)?$ ]] && new_interface="${BASH_REMATCH[2]}"
なにか提案を?ありがとう!