Knowledge base

Aktuelle Änderungen - Suchen:

Home


Windows

Gnome

LINUX

Android

MacOS

iOS

OS /

ShellScript

Escape Zeichen in echo berücksichtigen

echo -e <STRING> interpretiert Zeichen als Steuerzeichen , z.B. \n als Zeilenvorschub

Fehlerausgabe in Datei

./<SCRIPTNAME> 2>&1 <PFAD/LOGFILE>

Debugging

Debug an set -x

Debug aus set +x

Anzeige eingelesene Zeile an set -v

Anzeige eingelesene Zeile aus set +v

Stammverzeichnis des ausführenden Users

$USER (geht nicht in crontab)

Kommandozeilenparameter

  • $# - Anzahl Argumente
  • $* oder $@ - alle Argumente als ein String
  • $? - Exit code von aufgerufenem Programm

Wertzuweisung Systemvariablen

Wenn in einem Script einer Systemvariablen ein Wert zugewiesen wird, werden die vorgegebenen Inhalte überschrieben (u.U. fatal z.B. bei PATH)

Parameterliste

mkdir -p /amanda/vtapes/slot{1,2,3,4} erstellt die Verzeichnisse slot1, slot2, slot3, slot4

Verzeichnis von aktuellem Script ermitteln

as it is

VAR = $(dirname $0)

absolut

readlink -f "$(dirname $0)"

Arrays

komplettes Array ausgeben

echo ${arr[@]}

Werteliste mit Trennzeichen in Array übertragen

In var befindet sich die werteliste, getrennt duch den Separator

  1. IFS='<SEPARATOR>' array=($var)
    echo ${array[<INDEX>]}
  2. read -a array < $var

Die 2. Methode funktioniert nicht mit allen Shells.

Funktionen

Definition

function-name
{
return
}

Aufrufparameter: Wird die Funktion mit Parametern aufgerufen, können diese mit $1 .. $9 abgerufen werden. Diese Variablen sind lokal und haben nichts mit den Kommandozeilenparametern des Scripts zu tun. Aufruf:

function-name par1 par2 ...

Test mit regulären Ausdrücken

if [[ $VAL =~ <REGEX> ]]

Die vorstehende Zeile liefert true zurück, falls der Ausdruck etwas Passendes in $VAL findet, sonst false. Der Ausdruck ^[0-7]{3}$ prüft auf eine gültige 3-stellige Oktalzahl.

Konvertierung Zeichencodes

iconv -f <QUELLKODIERUNG> -t <ZIELKODIERUNG> <INFILE> -o <OUTFILE>

INFILE und OUTFILE müssen unterschiedlich sein, sonst gibt es Probleme

mögliche Kodierungen auflisten: iconv --list

powered by:PmWiki-Logo
Bearbeiten - Versionen - Druckansicht - Aktuelle Änderungen - Suchen
Zuletzt geändert am 27.04.2016 22:55 Uhr