Skip to content
IRC-Coding IRC-Coding
Linux Bash Shell Scripting Tutorial Automatisierung Command Line

Linux BASH Coding Programmier Tutorial Workshop Deutsch

Schnelleinstieg in Bash-Programmierung - Lerne in unter 5 Minuten die Grundlagen von Bash-Scripting für Linux.

S

schutzgeist

2 min read

Schnell-Einführung in unter 5 Minuten

Wenn Du Bash-Programmierung lernen möchtest, empfehlen wir Dir folgendes Buch über Amazon: https://amzn.to/3WQnERX ( dies ist ein externer Affiliatelink und führt Dich zu Amazon)

Linux BASH Coding Programmier Tutorial Workshop Deutsch

Dies ist ein schnelles Linux-Bash Coding Tutorial. Innerhalb von wenigen Minuten wirst Du einfache Scripte und Programme schreiben können. Ebenfalls hilft diese Übersicht, mit Programmierbüchern schneller zurecht zu kommen.

Wie gewohnt, alles “in a nutshell”

1. Variablen

Variablen speichern Daten, die Du in Deinem Skript verwenden kannst.

server=“irc.IRC-Mania.com” port=6667

2. Echo

Verwende echo, um Text auszugeben.

echo “Verbindung zu $server auf Port $port herstellen…“

3. Befehle ausführen

Verwende Backticks oder $() zum Ausführen von Befehlen.

> hostname=$(hostname) > echo "Mein Hostname ist $hostname"

4. If-Else

Überprüfe Bedingungen mit if.

if [ "$port" -eq 6667 ]; then echo "Standard-IRC-Port erkannt." else echo "Nicht-Standard-Port." fi

5. Schleifen

For-Schleife

Iteriere über eine Liste von Servern.

> for server in "irc.example.com" "irc.freenode.net"; do > echo "Verbinde zu $server..." > done

While-Schleife

Wiederhole, bis eine Bedingung erfüllt ist.

connected=0 while [ $connected -eq 0 ]; do nc -z $server $port && connected=1 sleep 5 done echo "Verbindung hergestellt!"

6. Funktionen

Definiere wiederverwendbare Blöcke.

> verbinde_zu_server() { > echo "Versuche Verbindung zu $1..." > nc -z $1 $port && echo "Verbindung zu $1 erfolgreich!" > }

verbinde_zu_server “irc.irc-mania.com”

7. Case

Verzweige basierend auf Eingaben.

> command="PRIVMSG" > > case $command in > "JOIN") echo "Ein Benutzer ist beigetreten." ;; > "PART") echo "Ein Benutzer hat den Kanal verlassen." ;; > "PRIVMSG") echo "Eine Nachricht wurde empfangen." ;; > *) echo "Unbekanntes Kommando." ;; > esac

8. Arrays

Speichere mehrere Werte in einem Array.

channels=("general" "help" "random")
echo "Ich trete ${channels[0]} bei."

9. Dateien lesen und schreiben

Lesen

** Lese eine Datei Zeile für Zeile. **

> while IFS= read -r line; do > echo "Empfangen: $line" > done < irc_messages.log > Schreiben > Schreibe in eine Datei.
> echo "Nachricht gesendet an $server" >> irc_log.txt

10. Input und Output

Umleiten von Ausgaben Speichere die Ausgabe eines Befehls.

nc -z $server $port > /dev/null 2>&1

Pipes

Verbinde Befehle.

echo "Hello IRCWorld" | tr 'a-z' 'A-Z'

11. Prozessverwaltung

Hintergrundprozesse Führe einen Befehl im Hintergrund aus.

> ping $server **&**

Prozesse beenden

Beende einen Prozess.

kill %1

12. Fehlersuche

Verwende set -x zum Debuggen.

set -x
verbinde_zu_server "irc.example.com"
set +x

13. Befehlszeilenargumente

Verwende Eingabeargumente in Deinem Skript.

if [ "$1" = "start" ]; then echo "Starte den IRC-Client..." fi

14. Cron Jobs

Automatisiere Skripte mit Cron.

0 0 * * * /path/to/irc_script.sh

Jetzt kennen wir die wichtigsten Eckpfeiler der Linux Bash-Programmierung: Fangen wir an, sinnvolle und praktische Beispiele zu generieren, damit wir sofort produktiv loslegen können. Als Linux- und IRC-Nutzer habe ich die Beispiele entsprechend

Linux IRC Coding Praxis-Beispiele

  1. Automatisches Einloggen und Nachrichten an einen IRC-Channel senden Dieses Skript loggt sich automatisch auf einem IRC-Server ein, tritt einem Channel bei und sendet eine Nachricht.
#!/bin/bash

server="irc.example.com"
port=6667
nickname="MeinNick"
channel="#meinchannel"
message="Hallo, dies ist eine automatische Nachricht!"

exec 3<>/dev/tcp/$server/$port

echo "NICK $nickname" >&3
echo "User $nickname 0 * :$nickname" >&3
sleep 5
echo "JOIN $channel" >&3
sleep 2
echo "PRIVMSG $channel :$message" >&3

2. Überwachung eines IRC-Channels und automatisches Antworten

Dieses Skript überwacht Nachrichten in einem IRC-Channel und antwortet automatisch auf bestimmte Schlüsselwörter.

#!/bin/bash

server="irc.example.com"
port=6667
nickname="BotNick"
channel="#meinchannel"

exec 3<>/dev/tcp/$server/$port

echo "NICK $nickname" >&3
echo "User $nickname 0 * :$nickname" >&3
sleep 5
echo "JOIN $channel" >&3

while IFS= read -r line <&3; do
    echo "$line"
    if [[ "$line" == *"hello"* ]]; then
        echo "PRIVMSG $channel :Hallo! Wie kann ich helfen?" >&3
    fi
done

3. IRC-Channel-Statistiken sammeln

Sammelt Informationen über die Aktivität in einem IRC-Channel (z.B. Anzahl der Nachrichten pro Benutzer) und speichert sie in einer Datei.

#!/bin/bash

server="irc.example.com"
port=6667
nickname="StatBot"
channel="#meinchannel"
statsfile="channel_stats.txt"

exec 3<>/dev/tcp/$server/$port

echo "NICK $nickname" >&3
echo "User $nickname 0 * :$nickname" >&3
sleep 5
echo "JOIN $channel" >&3

declare -A user_stats

while IFS= read -r line <&3; do
    if [[ "$line" =~ ^:([^!]+)! ]]; then
        user="${BASH_REMATCH[1]}"
        ((user_stats["$user"]++))
    fi
done

**
Wenn Du Bash-Programmierung lernen möchtest, empfehlen wir Dir folgendes Buch über Amazon:

https://amzn.to/3WQnERX ( dies ist ein externer Affiliatelink und führt Dich zu Amazon)**

Zurück zum Blog
Share:

Ähnliche Beiträge