From c15ef1bab55dff620503c2ccf4de123d97137970 Mon Sep 17 00:00:00 2001 From: Daniel Schubert Date: Thu, 10 Jan 2019 12:09:22 +0100 Subject: [PATCH] 5 --- 5.html | 125 +++++--- beispiele/4/mysystem.sh | 0 beispiele/5/02-comments.sh | Bin 369 -> 237 bytes beispiele/5/04-function-exitcode.sh | 0 beispiele/5/07-select-menu.sh | 0 beispiele/5/09-backup.sh | 0 beispiele/5/aufgabe2.sh | 16 + linux-kurs.sublime-project | 2 + linux-kurs.sublime-workspace | 448 ++++++++++++++++++++++++++++ 9 files changed, 547 insertions(+), 44 deletions(-) mode change 100644 => 100755 beispiele/4/mysystem.sh mode change 100644 => 100755 beispiele/5/04-function-exitcode.sh mode change 100644 => 100755 beispiele/5/07-select-menu.sh mode change 100644 => 100755 beispiele/5/09-backup.sh create mode 100755 beispiele/5/aufgabe2.sh create mode 100644 linux-kurs.sublime-project create mode 100644 linux-kurs.sublime-workspace diff --git a/5.html b/5.html index c1cf992..7dee458 100644 --- a/5.html +++ b/5.html @@ -47,15 +47,8 @@ - - -
-

Bash scripting - Fortsetzung

-
-
-

LINKS

+

LINKS

http://tldp.org/LDP/abs/html/complexfunct.html @@ -71,8 +64,13 @@ - kontrollstrukturen - + +

+ +
+

Bash scripting - Fortsetzung

+

Wiederholung

-

Variablen

@@ -133,8 +131,9 @@ message="hallo Welt" message=hello\ Welt
-
echo 'So sprach'"'"'s und ging ohne einen Backslash (\) weiter.'
-     └────┬────┘└┬┘└─────────────────────┬─────────────────────┘
+				

+echo 'So sprach'"'"'s und ging ohne einen Backslash (\) weiter.'
+     └───┬───┘└┬┘└──────────────────┬─────────────────────┘
           │      │                       │
           │      │                       └ Dritter Bereich: Wieder
           │      │                         von ' umschlossen, der 
@@ -213,9 +212,11 @@ tar cf archiv.tar && rm *.doc || echo "fehler"
#!/bin/bash
 OUTFILE="liste.txt"
 
-liste=`ls | tee $OUTFILE `
+liste=`ls`
+echo $liste > $OUTFILE
 
-echo $liste
+#mit tee in einer Zeile
+liste=`ls | tee $OUTFILE`
 
 cat $OUTFILE
  
@@ -244,12 +245,29 @@ count () { # ls: Liste aller Objekte im Verzeichnis # wc: Word-Count; mit Attribut -l werden Zeilen gezählt - # in Verbindung mit ls werden also die (nicht versteckten) Objekte gezählt + # in Verbindung mit ls werden also die + # (nicht versteckten) Objekte gezählt } count # Aufruf der Funktion
+
+
#!/bin/sh
+ 
+fatal() {
+     msg=$1
+     echo "Fatal: $msg"
+     exit 1
+}
+ 
+[ -d /tmp ] || fatal "Verzeichnis /tmp existiert nicht"
+[ -w /tmp ] || fatal "Verzeichnis /tmp nicht schreibbar"
+ 
+TMP=/tmp/mydir
+[ -d $TMP ] || mkdir $TMP    # tmp-Verz. erzeugen, wenn noch nicht vorhanden
+		        	
+
#!/bin/bash
 count2 () {
@@ -268,36 +286,51 @@ echo "Status: $?"
 count2 "/etc"
 echo "Status: $?"
-
-
#!/bin/bash
-tar -czf myhome_directory.tar.gz /home/$USER
-mkdir archiv
-mv myhome_directory.tar.gz archiv/
-
-						
-
-
- - - - - - - - - - - - - - - - - + +
+ Aufgabe: Erstellt script mit mind einer Funktion das: + +

Tipps:

+
    +
  • Parameter Übergabe: kommando param1 param2
  • +
  • Parameter Übernahme: param1 = $1 , param2 = $2 etc
  • +
+
+
+
+
#!/bin/bash
+function file_backup {
+	echo 'Backup --- building tar File...'
+	tar -czf $2 $1 || fail "Fehler beim Archiv erstellen"
+	echo '+DONE'
 
+	exit 0
+}
 
+fail () {
+	echo "Fehler! + $1"
+	exit 1
+}
 
+#function call
+# file_backup 'backup-quelle' 'backup-ziel.tar.gz'
+file_backup $1 $2
 
+					
+ +
@@ -313,11 +346,10 @@ let "m++" let "m--" -let "k = (m < 9) ? 0 : 1" -condition ? value-if-true : value-if-false +

-Floating Poin:
+Floating Point:
 echo "32.0 + 1.4" | bc 
 
 echo `expr $m + 18`
@@ -326,8 +358,13 @@ m=`expr $m + 18`
 (( m *= 4 ))
 
+
ternary operator +
let "k = (m < 9) ? 0 : 1"
+condition ? value-if-true : value-if-false
- +

Maus ist voll 90er !!

+ https://github.com/agarrharr/awesome-cli-apps + https://github.com/alebcay/awesome-shell
diff --git a/beispiele/4/mysystem.sh b/beispiele/4/mysystem.sh old mode 100644 new mode 100755 diff --git a/beispiele/5/02-comments.sh b/beispiele/5/02-comments.sh index 545a0567a3fb819dadf991158fd51c87ecb34eb4..b0e9defb148d5377eb0a7c170d2c26f9ea2bc021 100755 GIT binary patch literal 237 zcmb2|=3vm3H;-XpetYSB*C7J|whwbYizI*DHOsK9`jvD?b>YJ6TiBu|gjj{%+I~MQ zEbRLNb-{FWi4!ZSsHFvdOM-t*-BuTv@Vv3UBPpynWlQ1bQ7VSmDXH?!%(Z zC6%{L|13E5v|9g(lz*$R|D)!R+|o}~*Or&;e*V46ce?5=@l@Z7701?e*9Ds`do$^m i;n#`Rjw|e2`tH8a-&g7^4CtVuQ@+Zh?>mDA0|Njf5^?PS literal 369 zcma)&y$-@K41{-{;%F+hMW|3lw!*^5(2*rAhD1sesR=M3-ks2Z_z@D=gC+a(S!Xt! z)KX7sZpDD164F9RP4JbYF>OoQ