-
Bash-Shell – Scripte
Um komplizierte Befehle einfach auszuführen oder Bedingungen innerhalb einer Abfrage zu definieren, ist es besser sie in Scripte zu packen.
Diese sind nichts weiter als Dateien, in denen Zeile für Zeile die Anweisungen abgearbeitet werden.Die Besonderheit ist, dass die Script Datei, mit der Definition des Interpreter beginnen muss. In unserem Fall wird die Bash-Shell aufgerufen, mit der Angabe:
#!/bin/bashNach dem schreiben der Sriptes, muss es noch ausführbar gemacht werden:
chmod +x scriptnameJetzt kann mit ./scriptname, das Script ausgeführt werden.
Um dies Systemweit, unter dem angemeldeten User zu tun, ist es wichtig ein Verzeichnis unter dem eigenem Home Verzeichnis anzulegen:
cd $HOME
mkdir scripte
chmod 744 scripteDanach muss noch der Pfad zu /scripte, in die PATH Variable mit aufgenommen werden:
nano ~/.bashrcund unter PATH=/……:/home/USERNAME/scripte mit anzuhängen.
Jetzt kann ohne Angabe des Pfades oder der ./ausführbar Angabe, das Script wie ein normaler Befehl aufgerufen werden.
aktuelles Verzeichnis nach angegebener Datei durchsuchen und zählen
Aufruf: zaehlen_v php
Code:
#!/bin/bash
# Zaehlt Dateien eines Types im aktuellen Verzeichnis
# Eingabe mit “zaehlen_v dateityp” Beispiel: zaehlen_v php
# gefunden by http://blog.falco2.deinfotext1=”im aktuellen Verzeichnis”
verzeichnis=”`pwd`”
infotext2=”sind”
dateityp=”`ls -l *.$1 | wc -l`x $1″
infotext3=”Dateien vorhanden”
echo -e $infotext1 “\033[49;1;34m$verzeichnis""\033[0m $infotext2" "\033[49;1;31m$dateityp""\033[0m $infotext3"
exit 0Funktion:
Das aktuelle Verzeichnis wird mit ls -l und dem vorgegebenen Suchwort eingelesen und per wc -l zeilenweise gezählt. Die grafische Ausgabe erfolgt über echo -e und Farbanweisungen. Es ist darauf zu achten, daß \033[0m mit einzubinden, damit die nachfolgende Ausgabe wieder original ausgegeben wird.
aktuelles Verzeichnis & alle Unterverzeichnisse nach angegebener Datei durchsuchen und zählen
Aufruf: zaehlen_u php
Code:
#!/bin/bash
# Zaehlt Dateien eines Types im Verzeichnis & alle Unterverzeichnisse
# Eingabe mit "zaehlen_u dateityp" Beispiel: zaehlen_u php
# gefunden by http://blog.falco2.deinfotext1="im aktuellen & allen Unterverzeichnisen sind"
dateityp="`find -type f -iname "*.$1" | wc -l`x $1"
infotext2="Dateien vorhanden"
echo -e $infotext1 "\033[49;1;31m$dateityp""\033[0m $infotext2"
exit 0Funktion:
Das aktuelle Verzeichnis und alle Unterverzeichnisse werden mit find -iname (egal ob GROß- oder kleinschreibung) und dem vorgegebenen Suchwort eingelesen und per wc -l zeilenweise gezählt. Die grafische Ausgabe erfolgt über echo -e und Farbanweisungen. Es ist darauf zu achten, daß \033[0m mit einzubinden, damit die nachfolgende Ausgabe wieder original ausgegeben wird.
vorgegebene Anzahl von Ordner mit vorgegebenen Ordnernamen erstellen
Aufruf: mkdir_e 20 falco2
Code:
#!/bin/bash
# Ordner erzeugen mit Angabe des Ordnernamens
# Eingabe erfolgt mit "mkdir_e Anzahl Ordnername"
# es entstehen entsprechend der Anzahl, die Ordner
# gefunden by http://blog.falco2.dei=1
while [ $i -le $1 ]
do
mkdir $2$i
let i=$i+1
done
exit 0Funktion:
Mit $1 wird die Anzahl und mit $2 wird der Ordnername an die Funktion im Script übergeben. Dann wird mit mkdir und mit den 2 Parametern ($1&$2), das Verzeichnis erstellt und dann wird immer 1 dazu gezählt.
vorgegebene Anzahl von Dateien mit vorgegebenem Dateinamen erstellen
Aufruf: dateien_e 30 Inhalt
Code:
#!/bin/bash
# Dateien erzeugen mit Angabe des Dateinamens
# Eingabe erfolgt mit “dateien_e Anzahl Dateiname”
# es entstehen entsprechend der Anzahl leere Dateien
# gefunden by http://blog.falco2.dei=1
while [ $i -le $1 ]
do
touch $2$i
let i=$i+1
done
exit 0Funktion:
Mit $1 wird die Anzahl und mit $2 wird der Dateiname an die Funktion im Script übergeben. Dann wird mit touch und mit den 2 Parametern ($1&$2), die Datei erstellt und dann wird immer 1 dazu gezählt.
installations Befehl abkürzen
Aufruf: instal nmap
Code:
#!/bin/bash
# installieren von Programmen
# (Abkürzen des apt-get install Komandos)
# Eingabe erfolgt mit “instal Programm Name”
# gefunden by http://blog.falco2.desudo apt-get install $1
Funktion:
Mit $1 wird der Programm Name ausgelesen, der hinter dem sudo apt-get install Befehl angegeben wird.Diese Beiträge könnten auch interessant sein:



Letzte Kommentare