Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 2

Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 2

In dieser Serie untersuchen wir verschiedene Tipps, Tricks und Bash -Befehlszeilenbeispiele, mit denen Sie ein fortgeschrittenerer Bash -Benutzer und Codierer werden können. Bash bietet eine reichhaltige Skript- und Codierungssprache, die die Macht wieder in die Hände des Benutzers und des Entwicklers versetzt. Bash ermöglicht es Ihnen auch, im Laufe der. Für den ersten Artikel in unserer Serie finden Sie in unserem Artikel Nützliche Bash -Befehlszeilenzeilen -Tipps und Tricks Beispiele Teil 1.

In dieser Tutorial -Serie lernen Sie:

  • Nützliche Bash -Befehlszeilen -Tipps, Tricks und Methoden
  • So interagieren Sie mit der Bash -Befehlszeile fortschrittlich
  • So schärfen Sie Ihre Bash -Fähigkeiten insgesamt und werden zu einem kompetenteren Bash -Benutzer
Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 2

Softwareanforderungen und Konventionen verwendet

Softwareanforderungen und Linux -Befehlszeilenkonventionen
Kategorie Anforderungen, Konventionen oder Softwareversion verwendet
System Linux-Verteilungsunabhängige
Software BASH -Befehlszeile, Linux -basiertes System
Andere Jedes Dienstprogramm, das standardmäßig nicht in der Bash -Shell enthalten ist sudo apt-Get Installieren Sie den Dienstprogramm (oder yum install Für Redhat -basierte Systeme)
Konventionen # - Erfordert, dass Linux -Commands mit Root -Berechtigungen entweder direkt als Stammbenutzer oder mithilfe von verwendet werden sudo Befehl
$-erfordert, dass Linux-Commands als regulärer nicht privilegierter Benutzer ausgeführt werden

Beispiel 1: Fangen Sie diese illuelle IP -Adresse auf



Manchmal müssen unsere Skripte wissen, welche IP -Adresse unser Computer ist. Es gibt einige verschiedene Methoden, obwohl keiner von ihnen vollständig narrensicher ist. Wenn Sie beispielsweise verschiedene Netzwerkadapter in einem Computer haben, kann dies Änderungen der Ausgabe durch verschiedene Befehle erstellen. Einige Befehle haben auch Einschränkungen.

Zum Beispiel die Hostname Befehl gibt eindeutig in seinem Handbuch fest (für die -ICH Option), dass alle Netzwerkadressen des Hosts angezeigt werden, aber zu Machen Sie keine Annahmen über die Reihenfolge der Ausgabe. Es scheint also das zu verwenden Hostname Möglicherweise ist nicht die beste Option.

Die hier angegebenen Beispiele sollen Sie befähigen und einige Vorschläge für weitere Explorations- und umweltspezifische und/oder allgemeine Verbesserungen machen. Kenntnisse über die ausfrierende Maschine oder das verwendete Netzwerk ermöglicht es, diese Befehle in stabilere IP -Adress -Retriever -Skripte umzuwandeln.

$ Myip = "$ (ip a | grep 'inet.*Global '| Grep -v Docker | sed 's |.*inet || ' | grep -o "^[\.0-9] \+")"; echo "$ myip" 10.10.0.20 $ myip = "$ (IP -S -Route Get 1 | grep -o" src [\.0-9] \+"| grep -o" [\.0-9] \+")"; echo "$ myip" 10.10.0.20 

Im ersten Befehl haben wir die verwendet ip a (IP Adresse) Befehl zum Abrufen einer Liste aller IP -Adressen, die diesem Computer zugewiesen sind. Sie können die eingeben ip a Befehl direkt in der Bash -Befehlszeile, um zu sehen, wie die Ausgabe aussieht.

Als nächstes haben wir alle global global gegründet inet Adapter und die Docker -Netzwerkverbindungen aus der Liste entfernt (Sie können sehen, dass dies nicht perfekt ist. Andere Software kann beispielsweise andere Netzwerkschnittstellen erstellen ssh oder andere Virtualisierungsprogramme wie Virtualbox, Dies würde auch Filterung erfordern).

Wir verarbeiten die Eingabe dann weiter mit sed Um die Informationen bis hin zu entfernen bis zu inet. Schließlich grep für das tatsächliche IP mit a Nur Grep ich.e. grep -o Befehl, der einen regulären Ausdruck verwendet.

Um mehr über reguläre Ausdrücke zu erfahren.

Sie können auch noch einmal feststellen, wie es hier Einschränkungen gibt. So einbeziehen Sie IPv6 -IP -Adressen, wie Sie herausfinden, wie die Haupt -IP -Adresse lautet, wenn mehrere Adapter usw. vorhanden sind usw.

Im zweiten Befehl suchen wir nach der ersten Route auf der Maschine mit IP -S -Route erhalten 1 und dann die Ausgabe auf ähnliche Weise verarbeiten. Dies ist möglicherweise stabiler, um zumindest die Haupt -IPv4 -Adresse der Maschine zu finden.

Teilen Sie uns Ihre beste Methode mit, um die IP zu erhalten, und möglicherweise die primäre IPv4 -Adresse mithilfe von Bash -Skripten in den Kommentaren unten!

Beispiel 2: Die Risiken der Kugeln und die Notwendigkeit, korrekt zu zitieren

$ touch a b c $ echo "$ (echo"*")"*$ echo $ (echo "*") a b c 


In diesem Beispiel erstellen wir zunächst 3 Dateien, A, B Und C, Und als nächstes laufen wir zwei Echo's. Das erste Echo zitiert die richtige * resultiert aus dem echo "*" Innerhalb der Unterschale $ (), Dies führt zu einem wörtlichen * Ausgabe durch das erste Echo im Befehl. Der zweite Echo -Befehl zitiert die nicht ordnungsgemäß * und als solches findet Bash -Globbing statt; Die * wird als Dateiname -Kennung angesehen, und die Dateien werden aufgeführt und an das Faust -Echo übergeben. Um dies zu verdeutlichen, sollten Sie:

$ echo * a b c 

Wir sehen daher die Notwendigkeit, einen Text, der als Dateiname interpretiert werden kann, immer ordnungsgemäß zu zitieren$ (echo "*"): Beachten Sie den Zitierten *).

Abschluss

In diesem Artikel haben wir uns untersucht, wie eine IP -Adresse mit verschiedenen Methoden erhalten werden kann, und überlegte, diese auf verschiedene Umgebungen zu erweitern. Wir haben auch Bash -Globbing und die Notwendigkeit untersucht, Texte zu zitieren, die als Dateinamen richtig interpretiert werden können, um Kugeln zu vermeiden.

  • Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 1
  • Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 2
  • Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 3
  • Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 4
  • Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 5

Verwandte Linux -Tutorials:

  • Eine Einführung in Linux -Automatisierung, Tools und Techniken
  • Mastering -Bash -Skriptschleifen beherrschen
  • Dinge zu installieren auf Ubuntu 20.04
  • Verschachtelte Schleifen in Bash -Skripten
  • Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 1
  • Dinge zu tun nach der Installation Ubuntu 20.04 fokale Fossa Linux
  • Ubuntu 20.04 Leitfaden
  • Ubuntu 20.04 Tricks und Dinge, die Sie vielleicht nicht wissen
  • Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 3
  • Tipps und Trick -Beispiele für nützliche Bash -Bash -Befehlszeilen - Teil 4