Main /

Bash Schnippsel

Allgemein

Knowledge Base

Virtualisierung Emulation

Technik und Wissen

Community

Privat

%center%[[http://validator.w3.org/check?uri=referer|http://www.w3.org/Icons/valid-xhtml10.png]]%%

Bash Schnippsel

/ HomePage / Computer / Software / Programmierung / Schnipsel

Bash Schnippsel und Beispiele

Diese Schnippsel und Code-Beispiele beziehen sich allein auf Shellscripte der Bash

String in lower case wandeln

 newstring=$(echo "$oldstring" | tr [:upper:] [:lower:]) # old: 'A-Z' 'a-z'

if then else

 if [condition]; then
   expression(s)
 [ elif [condition]; then 
     ...  ]²
 [ else 
     ... ]³
 fi
  • ²) Darf beliebig oft vorkommen
  • ³) Darf genau einmal vorkommen

Funktionen

 function foo()
 {
    ...
    # return value
    echo '123'
 }

 # function call
 RESULT=`eval foo "parameter"`

wie alt ist eine Datei

 FILE=<Datei>
 HOWOLD=$(( `date +'%s'` - `stat -c %Y ${FILE}` ))

Die Variable $HOWOLD enthält jetzt das alter der Datei in Sekunden.

Beispiel wie es anwendbar ist:

 if [ $HOWOLD -gt 3600 ]; then
    echo "Datei alter als eine Stunde."
 fi

Dateien umbennen von klein nach groß

 for f in * ; do n=`ls $f | tr [:lower:] [:upper:]`; mv $f $n; done  

funktioniert. Gefunden: hier

Array Zuweisung

Einem Bash Array etwas zuweisen geht mittels '=()' nur dann versteht die Bash es auch als Array, sonst ist es nur 'ein' String. Die außen liegenden Klammern sind somit überaus wichtig.

 BIGFILES=( $(ls -1 -t /alias/Gentoo/snapshots/*.bz2) )

Der Zugriff funktioniert jetzt über den Index. Der beginnt bei 0.

 BIGFILE=${BIGFILES[0]}

Damit hat man jetzt die zeitlich zuletzt angelegte Bzip2 Datei in der Variable 'BIGFILE'. Was genau passiert, wenn der Pfad Spaces enthält ist nicht geprüft und wird es auch nicht.

Anzahl der Codezeilen finden

Hier mal als Beispiel für java

 find . -type f -name '*.java' | xargs wc -l

Das Ergebnis ist eine Liste sämtlicher java Dateien mit der Ausgabe der jeweiligen Zeilen der einzelnen Dateien und zusätzlich eine Gesamtsumme. Also wieviele Zeilen sämtliche dateien enthalten.

siehe auch

Frische Änderungen | Menü editieren Seite wurde zuletzt geändert am 23.02.2011 15:09 Uhr von Lars
Diese Seite wurde bisher 896 mal aufgerufen.
Seite Bearbeiten | Seitenhistorie

Powered by PmWiki
Page generated in 0,583 seconds.