%Teilweise Erzeugt mit dem LaTeX-Generator: http://latex.sehnot.de

%Schriftgröße, Layout, Papierformat, Art des Dokumentes
\documentclass[10pt,oneside,a4paper]{scrartcl}

%Einstellungen der Seitenränder
\usepackage[left=2cm,right=2cm,top=1.5cm,bottom=1.5cm,includeheadfoot]{geometry}

%neue Rechtschreibung
\usepackage[ngerman]{babel}

%Umlaute ermöglichen
\usepackage[utf8]{inputenc}

%Gesamtseitenzahl
\usepackage{lastpage}

% Kopf- und Fußzeile
\usepackage[automark]{scrpage2}

%Quellcode-Listings
\usepackage{listings}

%Hyperlinks
\usepackage{hyperref}

%Kopfzeile
\ihead{Linux}
\chead{}
\ohead{http://kohnlehome.de/linux/bash\_substitution.pdf}
\setheadsepline{0.5pt}

%Fußzeile
\setfootsepline{0.5pt}
\ifoot{Franz Kohnle}
\cfoot{Seite \thepage\ von  \pageref{LastPage}}
\ofoot{\today}

\pagestyle{scrheadings}

\begin{document}

% Überschrift 
\begin{center}
\LARGE % Schriftgröße
\bfseries % Fettdruck
\sffamily % Serifenlose Schrift
Substitutionsmechanismen der Bash
\end{center}


\section{Suchmuster für Dateien und Verzeichnisse (Jokerzeichen)}

\begin{tabular}[t]{c l}
\texttt{*} & beliebig viele beliebige Zeichen (außer /) \\

\texttt{?} & genau ein beliebiges Zeichen (außer /) \\

\texttt{[xyz]} & genau ein Zeichen \texttt{x} oder \texttt{y} oder \texttt{z} \\

\texttt{[k-p]} & genau ein Zeichen \texttt{k} oder \texttt{l} oder \texttt{m, ..., p} \bfseries{(FUNKTIONIERT NICHT ?!)} \\

\texttt{[!a]} & genau ein Zeichen, aber nicht \texttt{a} \\

\texttt{[!xyz]} & genau ein Zeichen, aber nicht \texttt{x} oder \texttt{y} oder \texttt{z} \\
\end{tabular}



\section{Expansion geschweifter Klammern \{\}}
\paragraph{Beispiel 1}
\texttt{\{rot,gelb,blau\}.txt} $\Rightarrow$ \texttt{rot.txt gelb.txt blau.txt}

\paragraph{Beispiel 2 (kartesisches Produkt)}
\texttt{\{a,b,c\}\{1,2,3\}.txt} $\Rightarrow$ \texttt{a1.txt a2.txt a3.txt b1.txt b2.txt b3.txt c1.txt c2.txt c3.txt}

\paragraph{Beispiel 3}
\texttt{mkdir -p umsatz/200\{8,9\}/q\{1,2,3,4\}}



\section{Rechnen in eckigen Klammern \$[ ] }
\paragraph{Beispiel}
\texttt{echo \$[2+3]}

\paragraph{Grundrechenarten}
\texttt{+ - * / \%}


\section{Auswertung von Zeichenketten}
\begin{tabular}[t]{c|c|c|c}
 & Variablensubstitution & Kommandosubstitution & \texttt{x=beispiel}\\ \hline\hline

Hochkomma \texttt{' '} & - & - & \texttt{echo 'touch \$x'}\\ \hline

Anführungszeichen \texttt{"} \texttt{"}& ja & - & \texttt{echo "touch \$x"}\\ \hline

Backticks \`{} \`{} & ja & ja & \texttt{echo} \`{}\texttt{touch \$x}\`{}\\ \hline

\texttt{\$( )} & ja & ja & \texttt{echo \$(touch \$x)}\\ 

\end{tabular}


\end{document}
