Wenn Sie sicher sind, dass dies wlan0
die Schnittstelle ist, können Sie die Informationen nur für diese Schnittstelle mit:
ifconfig wlan0
Da Sie jetzt nur noch eine Zeile enthalten Bcast:
(eliminieren tail
), können Sie sed
die grep
und cut
Funktionen kombinieren :
ifconfig wlan0 | sed -n 's/^.*Bcast:\(.*\) .*$/\1/p'
In diesem Fall sed -n
entfällt das routinemäßige Drucken von Zeilen aus der Eingabe, und die Suchzeichenfolge stimmt mit der gesamten Zeile überein, wobei markiert wird, was zwischen Bcast:
dem nächsten und dem nächsten Leerzeichen liegt. Die Ersetzung ist nur dieses markierte Feld und /p
überschreibt das -n
und erzwingt das Drucken. Um diese Zeichenfolge einem Alias zuzuweisen, müssen Sie doppelte Anführungszeichen verwenden, um einige der Zeichen mit einem Back-Slash zu schützen, oder einfache Anführungszeichen verwenden, um die im obigen Befehl enthaltenen durch zu ersetzen '\''
(das resultierende Ergebnis kann jedoch weggelassen werden ''
).
Wenn Sie sich vergewissern möchten, dass dies wlan0
die gewünschte Schnittstelle ist und keine anderen für den Internetzugang konfiguriert sind, können Sie herausfinden, welche Schnittstelle verwendet wird (Sie müssen möglicherweise installieren networkctl
):
networkctl status | sed -n 's/^.*Gateway: .* on \(.*$\)/\1/p'
Dies verwendet sed
die networkctl
Ausgabe ähnlich wie zuvor. Jetzt können Sie sie kombinieren:
ifconfig $(networkctl status |\ sed -n 's/^.*Gateway: .* on \(.*$\)/\1/p')|sed -n 's/^.*Bcast:\(.*\) .*$/\1/p'
Dies ist zwar kaum ordentlich, deckt jedoch die meisten Grundlagen ab - insbesondere wenn Ihr WLAN nicht funktioniert und Sie stattdessen Ethernet verwenden, sollte es trotzdem funktionieren. Wenn beide Schnittstellen zusammenarbeiten, wird es noch komplizierter: Ich überlasse es Ihnen, das herauszufinden (Hinweis: Sie müssen /Gateway/,$
den Zeilenbereich für den s
Befehl verwenden und die IPv6-Einträge ausschließen).