それが確実なら wlan0 これはインターフェースです。それから、このインターフェースに関する情報を返すことができます。
ifconfig wlan0
これで1行しかありません Bcast: その中で(排除 tail )あなたが使用することができます sed を組み合わせる grep そして cut 関数:
ifconfig wlan0 | sed -n 's/^.*Bcast:\(.*\) .*$/\1/p'
この場合、 sed -n 入力から行を定期的に出力することを排除し、検索文字列は行全体に一致し、その間にあるものをマークします。 Bcast: そして次のスペース:代入はこのマークされたフィールドだけです、そして /p を上書きします -n そして印刷を強制します。この文字列をエイリアスに割り当てるには、二重引用符を使用して一部の文字をバックスラッシュでエスケープするか、単一引用符を使用して上記のコマンドの文字を置き換える必要があります。 '\'' (ただし、最終的な結果は省略できます '' )
最後に、あなたがそれを確認したい場合は wlan0 あなたが望むインターフェイスであり、インターネットアクセス用に設定された他のものはありません、あなたはどのインターフェイスが使用されているか調べることができます(あなたはインストールする必要があるかもしれません) networkctl ):
networkctl status | sed -n 's/^.*Gateway: .* on \(.*$\)/\1/p'
これは sed に networkctl 以前と同様に出力します。今、あなたはそれらを組み合わせることができます:
ifconfig $(networkctl status |\
sed -n 's/^.*Gateway: .* on \(.*$\)/\1/p')|sed -n 's/^.*Bcast:\(.*\) .*$/\1/p'
これはほとんどきれいではありませんが、ほとんどの基盤をカバーしています。特に、ワイヤレスが機能せず、代わりにイーサネットを使用している場合は、機能するはずです。両方のインターフェースが連携して動作している場合は、まだもっと複雑になります。 /Gateway/,$ の行範囲として s コマンド、およびIPv6エントリを除外する方法)。
wlan0あなたが使用しているインターフェースは以下の通りです。ifconfig wlan0|sed -n 's/^.*Bcast:\(.*\) .*$/\1/p'。これはいいですか?