Script started on Wed Nov 18 19:06:16 2015 $ cd src $ pwd /usr/home/ckurs/src $ echo $0 /usr/local/bin/ksh93 $ echo $$ 1421 $ ps PID TT STAT TIME COMMAND 1012 0 I 0:00,01 -su (ksh93) 1016 0 I+ 0:00,01 tmux: client (/tmp/tmux-1002/default) (tmux) 1020 1 Is 0:00,02 -ksh93 (ksh93) 1418 1 S+ 0:00,01 script -a /home/ckurs/transcripts/2015-11-18 1219 3 Is 0:00,02 -ksh93 (ksh93) 1381 3 I+ 0:00,09 nano 2015-11-18.txt 1237 4 Is+ 0:00,01 tmux: client (/tmp/tmux-1002/default) (tmux) 1266 5 Is+ 0:00,00 tmux: client (/tmp/tmux-1002/default) (tmux) 1394 7 Is+ 0:00,00 tmux: client (/tmp/tmux-1002/default) (tmux) 1397 8 Is+ 0:00,00 tmux: client (/tmp/tmux-1002/default) (tmux) 1402 9 Is+ 0:00,01 tmux: client (/tmp/tmux-1002/default) (tmux) 1421 10 Ss 0:00,01 /usr/local/bin/ksh93 -i 1423 10 R+ 0:00,00 ps $ ls ; echo $$ a.out convert.c hello.c wc.c convert hello wc 1421 $ ed wc.c 334 ,p #include #include int main() { int zeichen = 0, woerter = 0, zeilen = 0; int next, i; next = getchar(); while (next != EOF) { if (next == '\n' || next == '\f') zeilen++; if (isspace(next)) woerter++; zeichen++; next = getchar(); } printf("%6d %6d %6d\n", zeichen, woerter, zeilen); } ,n 1 #include 2 #include 3 4 int main() 5 { 6 7 int zeichen = 0, woerter = 0, zeilen = 0; 8 9 int next, i; 10 11 next = getchar(); 12 13 while (next != EOF) { 14 if (next == '\n' || next == '\f') 15 zeilen++; 16 17 if (isspace(next)) 18 woerter++; 19 20 zeichen++; 21 22 next = getchar(); 23 } 24 25 26 printf("%6d %6d %6d\n", zeichen, woerter, zeilen); 27 } 6d 8d  ,n 1 #include 2 #include 3 4 int main() 5 { 6 int zeichen = 0, woerter = 0, zeilen = 0; 7 8 int next, i; 9 10 next = getchar(); 11 12 while (next != EOF) { 13 if (next == '\n' || next == '\f') 14 zeilen++; 15 16 if (isspace(next)) 17 woerter++; 18 19 zeichen++; 20 21 next = getchar(); 22 } 23 24 25 printf("%6d %6d %6d\n", zeichen, woerter, zeilen); 26 } 7d 19d  0d ,n 1 #include 2 #include 3 4 int main() 5 { 6 int zeichen = 0, woerter = 0, zeilen = 0; 7 int next, i; 8 9 next = getchar(); 10 while (next != EOF) { 11 if (next == '\n' || next == '\f') 12 zeilen++; 13 14 if (isspace(next)) 15 woerter++; 16 17 zeichen++; 18 19 next = getchar(); 20 } 21 22 23 printf("%6d %6d %6d\n", zeichen, woerter, zeilen); 24 } 18d w 330 ,p #include #include int main() { int zeichen = 0, woerter = 0, zeilen = 0; int next, i; next = getchar(); while (next != EOF) { if (next == '\n' || next == '\f') zeilen++; if (isspace(next)) woerter++; zeichen++; next = getchar(); } printf("%6d %6d %6d\n", zeichen, woerter, zeilen); } ,n 1 #include 2 #include 3 4 int main() 5 { 6 int zeichen = 0, woerter = 0, zeilen = 0; 7 int next, i; 8 9 next = getchar(); 10 while (next != EOF) { 11 if (next == '\n' || next == '\f') 12 zeilen++; 13 14 if (isspace(next)) 15 woerter++; 16 17 zeichen++; 18 next = getchar(); 19 } 20 21 22 printf("%6d %6d %6d\n", zeichen, woerter, zeilen); 23 } 22a ende: return 0; . ,n 1 #include 2 #include 3 4 int main() 5 { 6 int zeichen = 0, woerter = 0, zeilen = 0; 7 int next, i; 8 9 next = getchar(); 10 while (next != EOF) { 11 if (next == '\n' || next == '\f') 12 zeilen++; 13 14 if (isspace(next)) 15 woerter++; 16 17 zeichen++; 18 next = getchar(); 19 } 20 21 22 printf("%6d %6d %6d\n", zeichen, woerter, zeilen); 23 ende: 24 return 0; 25 } 11i if (next == 'z' ) goto ende; . ,p #include #include int main() { int zeichen = 0, woerter = 0, zeilen = 0; int next, i; next = getchar(); while (next != EOF) { if (next == 'z') goto ende; if (next == '\n' || next == '\f') zeilen++; if (isspace(next)) woerter++; zeichen++; next = getchar(); } printf("%6d %6d %6d\n", zeichen, woerter, zeilen); ende: return 0; } ^[[A^[[A      ,n 1 #include 2 #include 3 4 int main() 5 { 6 int zeichen = 0, woerter = 0, zeilen = 0; 7 int next, i; 8 9 next = getchar(); 10 while (next != EOF) { 11 if (next == 'z') 12 goto ende; 13 if (next == '\n' || next == '\f') 14 zeilen++; 15 16 if (isspace(next)) 17 woerter++; 18 19 zeichen++; 20 next = getchar(); 21 } 22 23 24 printf("%6d %6d %6d\n", zeichen, woerter, zeilen); 25 ende: 26 return 0; 27 } 6a int gib_zeichen = 0; , gib_o wor erter, gib_      = 0, gib_zeilen = 0; - . ,n 1 #include 2 #include 3 4 int main() 5 { 6 int zeichen = 0, woerter = 0, zeilen = 0; 7 int gib_zeichen = 0, gib_woerter = 0, gib_zeilen = 0; 8 int next, i; 9 10 next = getchar(); 11 while (next != EOF) { 12 if (next == 'z') 13 goto ende; 14 if (next == '\n' || next == '\f') 15 zeilen++; 16 17 if (isspace(next)) 18 woerter++; 19 20 zeichen++; 21 next = getchar(); 22 } 23 24 25 printf("%6d %6d %6d\n", zeichen, woerter, zeilen); 26 ende: 27 return 0; 28 } 1,10n 1 #include 2 #include 3 4 int main() 5 { 6 int zeichen = 0, woerter = 0, zeilen = 0; 7 int gib_zeichen = 0, gib_woerter = 0, gib_zeilen = 0; 8 int next, i; 9 10 next = getchar(); 4c int main(int argc, char ^C ? h interrupt 4c int main(int c argc, char *argv[]) . 1,10n 1 #include 2 #include 3 4 int main(int argc, char *argv[]) 5 { 6 int zeichen = 0, woerter = 0, zeilen = 0; 7 int gib_zeichen = 0, gib_woerter = 0, gib_zeilen = 0; 8 int next, i; 9 10 next = getchar(); 1ßm  ß 0i ? h unknown command 10i of   if (ag rgc >= 2) { switch(argv[1][1]) { case 'w': gib_wort  erter = 1; break; case 'ö l': gib_zeilen = 0 1; break;  case 'c': gib_e zeichen = 1; break; default: printf("Fehel  ler!\n"); return 0;  1, ; } } else { gib_woert = gib_zeilen = gib_zeichen = 1; } . 1,20p n 1 #include 2 #include 3 4 int main(int argc, char *argv[]) 5 { 6 int zeichen = 0, woerter = 0, zeilen = 0; 7 int gib_zeichen = 0, gib_woerter = 0, gib_zeilen = 0; 8 int next, i; 9 10 if (argc >= 2) { 11 switch(argv[1][1]) { 12 case 'w': 13 gib_woerter = 1; 14 break; 15 16 case 'Ãl': 17 gib_zeilen = 1; 18 break; 19 20 case 'c': ,p #include #include int main(int argc, char *argv[]) { int zeichen = 0, woerter = 0, zeilen = 0; int gib_zeichen = 0, gib_woerter = 0, gib_zeilen = 0; int next, i; if (argc >= 2) { switch(argv[1][1]) { case 'w': gib_woerter = 1; break; case 'Ãl': gib_zeilen = 1; break; case 'c': gib_zeichen = 1; break; default: printf("Fehler!\n"); return 1; } } else { gib_woert = gib_zeilen = gib_zeichen = 1; } next = getchar(); while (next != EOF) { if (next == 'z') goto ende; if (next == '\n' || next == '\f') zeilen++; if (isspace(next)) woerter++; zeichen++; next = getchar(); } printf("%6d %6d %6d\n", zeichen, woerter, zeilen); ende: return 0; } ,p #include #include int main(int argc, char *argv[]) { int zeichen = 0, woerter = 0, zeilen = 0; int gib_zeichen = 0, gib_woerter = 0, gib_zeilen = 0; int next, i; if (argc >= 2) { switch(argv[1][1]) { case 'w': gib_woerter = 1; break; case 'Ãl': gib_zeilen = 1; break; case 'c': gib_zeichen = 1; break; default: printf("Fehler!\n"); return 1; } } else { gib_woert = gib_zeilen = gib_zeichen = 1; } next = getchar(); while (next != EOF) { if (next == 'z') goto ende; if (next == '\n' || next == '\f') zeilen++; if (isspace(next)) woerter++; zeichen++; next = getchar(); } printf("%6d %6d %6d\n", zeichen, woerter, zeilen); ende: return 0; } ! w 738 !lesss  wc. c.c         more wc.c [?1h= #include #include int main(int argc, char *argv[]) { int zeichen = 0, woerter = 0, zeilen = 0; int gib_zeichen = 0, gib_woerter = 0, gib_zeilen = 0; int next, i; if (argc >= 2) { switch(argv[1][1]) { case 'w': gib_woerter = 1; break; case 'l': gib_zeilen = 1; break; case 'c': gib_zeichen = 1; break; default: --More--(50%) [?1l>! 1.2ß   ,2ß 0n ? h invalid address 1,20n 1 #include 2 #include 3 4 int main(int argc, char *argv[]) 5 { 6 int zeichen = 0, woerter = 0, zeilen = 0; 7 int gib_zeichen = 0, gib_woerter = 0, gib_zeilen = 0; 8 int next, i; 9 10 if (argc >= 2) { 11 switch(argv[1][1]) { 12 case 'w': 13 gib_woerter = 1; 14 break; 15 16 case 'Ãl': 17 gib_zeilen = 1; 18 break; 19 20 case 'c': 16c case 'l': . !! more wc.c [?1h= #include #include int main(int argc, char *argv[]) { int zeichen = 0, woerter = 0, zeilen = 0; int gib_zeichen = 0, gib_woerter = 0, gib_zeilen = 0; int next, i; if (argc >= 2) { switch(argv[1][1]) { case 'w': gib_woerter = 1; break; case 'l': gib_zeilen = 1; break; case 'c': gib_zeichen = 1; break; default: --More--(50%) [?1l>! w 737 !! more wc.c [?1h= #include #include int main(int argc, char *argv[]) { int zeichen = 0, woerter = 0, zeilen = 0; int gib_zeichen = 0, gib_woerter = 0, gib_zeilen = 0; int next, i; if (argc >= 2) { switch(argv[1][1]) { case 'w': gib_woerter = 1; break; case 'l': gib_zeilen = 1; break; case 'c': gib_zeichen = 1; break; default: --More--(50%)  ESCESCOOCC , zeilen = 0; rter = 0, gib_zeilen = 0; = 1; 1; = 1; --More--(50%)  ESCESCOODD#include #include int main(int argc, char *argv[]) { int zeichen = 0, woerter = 0, zeilen = 0; int gib_zeichen = 0, gib_woerter = 0, gib_zeilen = 0; int next, i; if (argc >= 2) { switch(argv[1][1]) { case 'w': gib_woerter = 1; break; case 'l': gib_zeilen = 1; break; case 'c': gib_zeichen = 1; break; default: --More--(50%)  ESCESCOOBB  --More--(50%)  ESCESCOOBB  printf("Fehler!\n"); --More--(53%)  ESCESCOOBB  return 1; --More--(55%)  ESCESCOOBB  } --More--(55%)  ESCESCOOBB  } else { --More--(57%) [?1l>! 1,20n c p m ? 10,20n 10 if (argc >= 2) { 11 switch(argv[1][1]) { 12 case 'w': 13 gib_woerter = 1; 14 break; 15 16 case 'l': 17 gib_zeilen = 1; 18 break; 19 20 case 'c': 11c switch(argv v[1][0])  { . w 737 !! more wc.c [?1h= #include #include int main(int argc, char *argv[]) { int zeichen = 0, woerter = 0, zeilen = 0; int gib_zeichen = 0, gib_woerter = 0, gib_zeilen = 0; int next, i; if (argc >= 2) { switch(argv[1][0]) { case 'w': gib_woerter = 1; break; case 'l': gib_zeilen = 1; break; case 'c': gib_zeichen = 1; break; default: --More--(50%)  ESCESCOOBB  --More--(50%)  ESCESCOOBB  printf("Fehler!\n"); --More--(53%)  ESCESCOOBB  return 1; --More--(55%)  ESCESCOOBB  } --More--(55%)  ESCESCOOBB  } else { --More--(57%)  ESCESCOOBB  gib_woert = gib_zeilen = gib_zeichen = 1; --More--(63%)  ESCESCOOBB  } --More--(63%)  ESCESCOOBB  --More--(63%)  ESCESCOOBB  next = getchar(); --More--(66%)  ESCESCOOBB  while (next != EOF) { --More--(69%)  ESCESCOOAA M if (argc >= 2) {  --More--(66%)  ESCESCOOAA M  --More--(63%) [?1l>! $= 51 40,50n 40 if (isspace(next)) 41 woerter++; 42 43 zeichen++; 44 next = getchar(); 45 } 46 47 48 printf("%6d %6d %6d\n", zeichen, woerter, zeilen); 49 ende: 50 return 0; 48c if (" gib_zeich) en) printf("%6d ", e zeichen); if (gib_woerter) printf("%6d ", wor erter); if (gib_zeieln en    len= ) printf("6d  %d 6d ", zeielen    len); . !cc -o wc wc.c wc.c:30:3: error: use of undeclared identifier 'gib_woert'; did you mean 'gib_woerter'? gib_woert = gib_zeilen = gib_zeichen = 1;  ^~~~~~~~~  gib_woerter wc.c:7:23: note: 'gib_woerter' declared here int gib_zeichen = 0, gib_woerter = 0, gib_zeilen = 0;  ^ 1 error generated. ! 1,20p     10,20p if (argc >= 2) { switch(argv[1][0]) { case 'w': gib_woerter = 1; break; case 'l': gib_zeilen = 1; break; case 'c': 20,30n 20 case 'c': 21 gib_zeichen = 1; 22 break; 23 24 default: 25 26 printf("Fehler!\n"); 27 return 1; 28 } 29 } else { 30 gib_woert = gib_zeilen = gib_zeichen = 1; 03  30c s/wor ert/woerter/p gib_woerter = gib_zeilen = gib_zeichen = 1; , w 822 !! cc -o wc wc.c ! !,/&   ./wc sdfvdafvsdf scasdfnvadhfnvjc sfvsudfv sdfvsdfvsiudfhz ! 1 !./wc fdvsdfvosdfvj fdvsdfv dfvsdfiuv sdcfsdciosdfvjfvvdfvuhi ^D 56 4 3 ! !./wc c fvsdfvsdfvzsdufvsdufvzgu                    fvsdfvsdvasdcvadf adfvdasfvasx asdcawer scasd adsc asdcv ^D 61 ! !! ./wc w sdcsdf ascAEWCX XCYXCA ASXA ^D 4 ! 2 30,§ $p ? h unknown command 40,$p     30,$p gib_woerter = gib_zeilen = gib_zeichen = 1; } next = getchar(); while (next != EOF) { if (next == 'z') goto ende; if (next == '\n' || next == '\f') zeilen++; if (isspace(next)) woerter++; zeichen++; next = getchar(); } if (gib_zeichen) printf("%6d ", zeichen); if (gib_woerter) printf("%6d ", woerter); if (gib_zeilen) printf("%6d ", zeilen); ende: return 0; } 1,10n 1 #include 2 #include 3 4 int main(int argc, char *argv[]) 5 { 6 int zeichen = 0, woerter = 0, zeilen = 0; 7 int gib_zeichen = 0, gib_woerter = 0, gib_zeilen = 0; 8 int next, i; 9 10 if (argc >= 2) { 4i void bedingte_ausgabe(int bedingung, int zahl) { if (bedingung) printf("%6d ", zahl); } . 1,20p #include #include void bedingte_ausgabe(int bedingung, int zahl) { if (bedingung) printf("%6d ", zahl); } int main(int argc, char *argv[]) { int zeichen = 0, woerter = 0, zeilen = 0; int gib_zeichen = 0, gib_woerter = 0, gib_zeilen = 0; int next, i; if (argc >= 2) { switch(argv[1][0]) { case 'w': gib_woerter = 1; break; 50,$n 50 next = getchar(); 51 } 52 53 54 if (gib_zeichen) 55 printf("%6d ", zeichen); 56 57 if (gib_woerter) 58 printf("%6d ", woerter); 59 60 if (gib_zeilen) 61 printf("%6d ", zeilen); 62 ende: 63 return 0; 64 } 54,61c bedingte( _ausgabe(gib_zeichen, zeichen); bedingte_ausgabe(gb_w   ib_woerter, woerter); bedingte_ausgaeb  be(gib_zeilen, zeilen); printf("\n"); . 40,   50,§ $n ? j h unknown command 50,$n 50 next = getchar(); 51 } 52 53 54 bedingte_ausgabe(gib_zeichen, zeichen); 55 bedingte_ausgabe(gib_woerter, woerter); 56 bedingte_ausgabe(gib_zeilen, zeilen); 57 printf("\n"); 58 ende: 59 return 0; 60 } 20,30n 20 break; 21 22 case 'l': 23 gib_zeilen = 1; 24 break; 25 26 case 'c': 27 gib_zeichen = 1; 28 break; 29 30 default: 40m5  ,50n 40 while (next != EOF) { 41 if (next == 'z') 42 goto ende; 43 if (next == '\n' || next == '\f') 44 zeilen++; 45 46 if (isspace(next)) 47 woerter++; 48 49 zeichen++; 50 next = getchar(); 41m42   ,42d w 882 !cc -o wc wc.c ! !./wc w  vadsfvsdfvasdiuchsadc sadvasdvcayxca asefweasdcayxcasdc efwdecs swdfaedfetzzzzsad sdcswrc ^D 6 ! 1 !./wc 8 Fehler! ! q $ ls a.out convert.c hello.c wc.c convert hello wc $ ed rejz  kursion.c rekursion.c: No such file or directory a #include "  int fakultä aet(int n) { if (n == 0) return 1; return n * fakut ltaet(n - 1); } int main(int argc, ch har *argv) { inmt  t m n; if (we  argc <  < 2) return 1; n =)   atoi(argv[i]);    1]); printf("%d\n", n)       %d\n", n, fakultaet)(  (n)); return 0; \ } . 1a #include . w 265 !cc -o rekutsi   rsion rekursion.c rekursion.c:4:11: error: source file is not valid UTF-8 int fakultaet(int n)  ^ rekursion.c:4:11: error: expected ';' after top level declarator int fakultaet(int n)  ^  ; 2 errors generated. ! 4c int fakultaet(int n) . w 264 !! cc -o rekursion rekursion.c rekursion.c:12:5: error: second parameter of 'main' (argument array) must be of type 'char **' int main(int argc, char *argv)  ^ rekursion.c:19:11: warning: incompatible integer to pointer conversion passing 'char' to parameter of type 'const char *'; take the address with & [-Wint-conversion] n = atoi(argv[1]);  ^~~~~~~  & /usr/include/stdlib.h:86:23: note: passing argument to parameter here int atoi(const char *);  ^ 1 warning and 1 error generated. ! c 12c io  int main(int argc, char *argv[]) . w 266 !! cc -o rekursion rekursion.c ! !./rekursion 1 0 0 1 ! ./rekursion 10 ? !.7 (r  /rekursion 10 10 3628800 ! ./rekursion 1000 ? !./reui  kursion 1000 1000 0 ! !./rekursion -1              ,p #include #include int fakultaet(int n) { if (n == 0) return 1; return n * fakultaet(n - 1); } int main(int argc, char *argv[]) { int n; if (argc < 2) return 1; n = atoi(argv[1]); printf("%d %d\n", n, fakultaet(n)); return 0; } !./rekursionn  -1 ! q $ less    more wc.c [?1h= #include #include void bedingte_ausgabe(int bedingung, int zahl) { if (bedingung) printf("%6d ", zahl); } int main(int argc, char *argv[]) { int zeichen = 0, woerter = 0, zeilen = 0; int gib_zeichen = 0, gib_woerter = 0, gib_zeilen = 0; int next, i; if (argc >= 2) { switch(argv[1][0]) { case 'w': gib_woerter = 1; break; case 'l': gib_zeilen = 1; break; --More--(46%) [?1l>$ Script done on Wed Nov 18 20:01:42 2015