From cedd34ee5474a17138ac9668059db84bc8810ae2 Mon Sep 17 00:00:00 2001
From: Peter Gerwinski <peter.gerwinski@hs-bochum.de>
Date: Mon, 4 Apr 2022 12:04:29 +0200
Subject: [PATCH] =?UTF-8?q?Beispiele=20f=C3=BCr=20Unix-Shell-Skripte,=204.?=
 =?UTF-8?q?4.2022?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 20220404/hello world 2.c   |  1 +
 20220404/hello world.c     |  1 +
 20220404/hello-1.c         |  7 ++++++
 20220404/hello-2.c         |  7 ++++++
 20220404/parameters-1.sh   |  3 +++
 20220404/parameters-1.txt  | 16 +++++++++++++
 20220404/parameters-2.sh   |  4 ++++
 20220404/parameters-3.sh   |  6 +++++
 20220404/parameters-3.txt  | 18 +++++++++++++++
 20220404/parameters-4.sh   |  5 ++++
 20220404/parameters-4.txt  | 18 +++++++++++++++
 20220404/parameters-5.sh   |  5 ++++
 20220404/parameters-5.txt  | 10 ++++++++
 20220404/parameters-6.sh   |  5 ++++
 20220404/parameters-6.txt  | 11 +++++++++
 20220404/parameters-7.sh   |  6 +++++
 20220404/parameters-7.txt  |  9 ++++++++
 {20220328 => 20220404}/vic |  0
 20220404/vic-1.txt         | 17 ++++++++++++++
 20220404/vic-2.txt         | 47 ++++++++++++++++++++++++++++++++++++++
 20220404/vicat             |  5 ++++
 21 files changed, 201 insertions(+)
 create mode 120000 20220404/hello world 2.c
 create mode 120000 20220404/hello world.c
 create mode 100644 20220404/hello-1.c
 create mode 100644 20220404/hello-2.c
 create mode 100755 20220404/parameters-1.sh
 create mode 100644 20220404/parameters-1.txt
 create mode 100755 20220404/parameters-2.sh
 create mode 100755 20220404/parameters-3.sh
 create mode 100644 20220404/parameters-3.txt
 create mode 100755 20220404/parameters-4.sh
 create mode 100644 20220404/parameters-4.txt
 create mode 100755 20220404/parameters-5.sh
 create mode 100644 20220404/parameters-5.txt
 create mode 100755 20220404/parameters-6.sh
 create mode 100644 20220404/parameters-6.txt
 create mode 100755 20220404/parameters-7.sh
 create mode 100644 20220404/parameters-7.txt
 rename {20220328 => 20220404}/vic (100%)
 create mode 100644 20220404/vic-1.txt
 create mode 100644 20220404/vic-2.txt
 create mode 100755 20220404/vicat

diff --git a/20220404/hello world 2.c b/20220404/hello world 2.c
new file mode 120000
index 0000000..70cd6bd
--- /dev/null
+++ b/20220404/hello world 2.c	
@@ -0,0 +1 @@
+hello-2.c
\ No newline at end of file
diff --git a/20220404/hello world.c b/20220404/hello world.c
new file mode 120000
index 0000000..45e5f76
--- /dev/null
+++ b/20220404/hello world.c	
@@ -0,0 +1 @@
+hello-1.c
\ No newline at end of file
diff --git a/20220404/hello-1.c b/20220404/hello-1.c
new file mode 100644
index 0000000..b19d80e
--- /dev/null
+++ b/20220404/hello-1.c
@@ -0,0 +1,7 @@
+#include <stdio.h>
+
+int main (void)
+{
+  printf ("Hello, world!\n");
+  return 0;
+}
diff --git a/20220404/hello-2.c b/20220404/hello-2.c
new file mode 100644
index 0000000..b19d80e
--- /dev/null
+++ b/20220404/hello-2.c
@@ -0,0 +1,7 @@
+#include <stdio.h>
+
+int main (void)
+{
+  printf ("Hello, world!\n");
+  return 0;
+}
diff --git a/20220404/parameters-1.sh b/20220404/parameters-1.sh
new file mode 100755
index 0000000..fbb0a54
--- /dev/null
+++ b/20220404/parameters-1.sh
@@ -0,0 +1,3 @@
+#!/bin/bash
+
+echo $*
diff --git a/20220404/parameters-1.txt b/20220404/parameters-1.txt
new file mode 100644
index 0000000..cbf2ecc
--- /dev/null
+++ b/20220404/parameters-1.txt
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+echo $*
+cassini/home/peter/bo/2022ss/bs/20220404> chmod +x parameters-1.sh
+cassini/home/peter/bo/2022ss/bs/20220404> ./parameters-1.sh
+
+cassini/home/peter/bo/2022ss/bs/20220404> ./parameters-1.sh foo bar bas
+foo bar bas
+cassini/home/peter/bo/2022ss/bs/20220404> ./parameters-1.sh foo bar baz
+foo bar baz
+cassini/home/peter/bo/2022ss/bs/20220404> ./parameters-1.sh "Dies ist ein Test." "Dies auch."
+Dies ist ein Test. Dies auch.
+cassini/home/peter/bo/2022ss/bs/20220404> ./parameters-1.sh "Dies ist ein Test."                  "Dies    auch."
+Dies ist ein Test. Dies auch.
+cassini/home/peter/bo/2022ss/bs/20220404> ./parameters-1.sh   foo     bar            baz
+foo bar baz
diff --git a/20220404/parameters-2.sh b/20220404/parameters-2.sh
new file mode 100755
index 0000000..a61f2bd
--- /dev/null
+++ b/20220404/parameters-2.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+echo $#
+echo $*
diff --git a/20220404/parameters-3.sh b/20220404/parameters-3.sh
new file mode 100755
index 0000000..2f864f4
--- /dev/null
+++ b/20220404/parameters-3.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+echo $#
+echo $*
+echo '$*'
+echo "$*"
diff --git a/20220404/parameters-3.txt b/20220404/parameters-3.txt
new file mode 100644
index 0000000..fc72d52
--- /dev/null
+++ b/20220404/parameters-3.txt
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+echo $#
+echo $*
+echo '$*'
+echo "$*"
+cassini/home/peter/bo/2022ss/bs/20220404> ./parameters-3.sh
+0
+
+$*
+
+cassini/home/peter/bo/2022ss/bs/20220404> ./parameters-3.sh "Dies ist"    "ein     Test."
+2
+Dies ist ein Test.
+$*
+Dies ist ein     Test.
+cassini/home/peter/bo/2022ss/bs/20220404> echo Dies ist ein     Test.
+Dies ist ein Test.
diff --git a/20220404/parameters-4.sh b/20220404/parameters-4.sh
new file mode 100755
index 0000000..5cf5261
--- /dev/null
+++ b/20220404/parameters-4.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+for f in $*; do
+  echo "Mache was mit der Datei \"$f\""
+done
diff --git a/20220404/parameters-4.txt b/20220404/parameters-4.txt
new file mode 100644
index 0000000..2149e95
--- /dev/null
+++ b/20220404/parameters-4.txt
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+for f in $*; do
+  echo "Mache was mit der Datei \"$f\""
+done
+cassini/home/peter/bo/2022ss/bs/20220404> ./parameters-4.sh hello*.c
+Mache was mit der Datei "hello-1.c"
+Mache was mit der Datei "hello-2.c"
+cassini/home/peter/bo/2022ss/bs/20220404> ln -s hello-1.c "hello world.c"
+cassini/home/peter/bo/2022ss/bs/20220404> ln -s hello-2.c "hello world 2.c"
+cassini/home/peter/bo/2022ss/bs/20220404> ls hello\ *.c
+'hello world 2.c'  'hello world.c'
+cassini/home/peter/bo/2022ss/bs/20220404> ./parameters-4.sh hello\ *.c
+Mache was mit der Datei "hello"
+Mache was mit der Datei "world"
+Mache was mit der Datei "2.c"
+Mache was mit der Datei "hello"
+Mache was mit der Datei "world.c"
diff --git a/20220404/parameters-5.sh b/20220404/parameters-5.sh
new file mode 100755
index 0000000..3b41d8c
--- /dev/null
+++ b/20220404/parameters-5.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+for f in "$*"; do
+  echo "Mache was mit der Datei \"$f\""
+done
diff --git a/20220404/parameters-5.txt b/20220404/parameters-5.txt
new file mode 100644
index 0000000..7617011
--- /dev/null
+++ b/20220404/parameters-5.txt
@@ -0,0 +1,10 @@
+cassini/home/peter/bo/2022ss/bs/20220404> cat parameters-5.sh 
+#!/bin/bash
+
+for f in "$*"; do
+  echo "Mache was mit der Datei \"$f\""
+done
+cassini/home/peter/bo/2022ss/bs/20220404> ./parameters-5.sh hello\ *.c
+Mache was mit der Datei "hello world 2.c hello world.c"
+cassini/home/peter/bo/2022ss/bs/20220404> ls hello\ *.c
+'hello world 2.c'  'hello world.c'
diff --git a/20220404/parameters-6.sh b/20220404/parameters-6.sh
new file mode 100755
index 0000000..e290f95
--- /dev/null
+++ b/20220404/parameters-6.sh
@@ -0,0 +1,5 @@
+#!/bin/bash
+
+for f in "$@"; do
+  echo "Mache was mit der Datei \"$f\""
+done
diff --git a/20220404/parameters-6.txt b/20220404/parameters-6.txt
new file mode 100644
index 0000000..4ced617
--- /dev/null
+++ b/20220404/parameters-6.txt
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+for f in "$@"; do
+  echo "Mache was mit der Datei \"$f\""
+done
+cassini/home/peter/bo/2022ss/bs/20220404> ./parameters-6.sh hello\ *.c
+Mache was mit der Datei "hello world 2.c"
+Mache was mit der Datei "hello world.c"
+cassini/home/peter/bo/2022ss/bs/20220404> ./parameters-6.sh     "Dies ist"   "ein    Test."
+Mache was mit der Datei "Dies ist"
+Mache was mit der Datei "ein    Test."
diff --git a/20220404/parameters-7.sh b/20220404/parameters-7.sh
new file mode 100755
index 0000000..d4a4cac
--- /dev/null
+++ b/20220404/parameters-7.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+while [ -n "$1" ]; do
+  echo "Mache was mit der Datei \"$1\""
+  shift
+done
diff --git a/20220404/parameters-7.txt b/20220404/parameters-7.txt
new file mode 100644
index 0000000..8917cd3
--- /dev/null
+++ b/20220404/parameters-7.txt
@@ -0,0 +1,9 @@
+#!/bin/bash
+
+while [ -n "$1" ]; do
+  echo "Mache was mit der Datei \"$1\""
+  shift
+done
+cassini/home/peter/bo/2022ss/bs/20220404> ./parameters-7.sh     "Dies ist"   "ein    Test."
+Mache was mit der Datei "Dies ist"
+Mache was mit der Datei "ein    Test."
diff --git a/20220328/vic b/20220404/vic
similarity index 100%
rename from 20220328/vic
rename to 20220404/vic
diff --git a/20220404/vic-1.txt b/20220404/vic-1.txt
new file mode 100644
index 0000000..18ddfa2
--- /dev/null
+++ b/20220404/vic-1.txt
@@ -0,0 +1,17 @@
+cassini/home/peter/bo/2022ss/bs/20220404> file_template=$(ls -rt *.c *.cpp *.sh *.py *.tex *.diff 2>/dev/null | tail -1)
+cassini/home/peter/bo/2022ss/bs/20220404> echo $file_template 
+parameters-7.sh
+cassini/home/peter/bo/2022ss/bs/20220404> ls -rt *.c *.cpp *.sh *.py *.tex *.diff 2>/dev/null | tail -1
+parameters-7.sh
+cassini/home/peter/bo/2022ss/bs/20220404> ls -rt *.c *.cpp *.sh *.py *.tex *.diff 2>/dev/null
+ hello-1.c         parameters-2.sh  'hello world.c'     parameters-6.sh
+ hello-2.c         parameters-3.sh  'hello world 2.c'   parameters-7.sh
+ parameters-1.sh   parameters-4.sh   parameters-5.sh
+cassini/home/peter/bo/2022ss/bs/20220404> ls -rt *.c *.cpp *.sh *.py *.tex *.diff
+ls: Zugriff auf '*.cpp' nicht möglich: Datei oder Verzeichnis nicht gefunden
+ls: Zugriff auf '*.py' nicht möglich: Datei oder Verzeichnis nicht gefunden
+ls: Zugriff auf '*.tex' nicht möglich: Datei oder Verzeichnis nicht gefunden
+ls: Zugriff auf '*.diff' nicht möglich: Datei oder Verzeichnis nicht gefunden
+ hello-1.c         parameters-2.sh  'hello world.c'     parameters-6.sh
+ hello-2.c         parameters-3.sh  'hello world 2.c'   parameters-7.sh
+ parameters-1.sh   parameters-4.sh   parameters-5.sh
diff --git a/20220404/vic-2.txt b/20220404/vic-2.txt
new file mode 100644
index 0000000..242f081
--- /dev/null
+++ b/20220404/vic-2.txt
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+debug=true
+
+if [ $# -gt 0 ]; then
+  $debug && echo "parameters = $@"
+  shift $(( $# - 1 ))
+  file_template="$1"
+else
+  file_template=$(ls -rt *.c *.cpp *.sh *.py *.tex *.diff 2>/dev/null | tail -1)
+fi
+
+$debug && echo "file_template = $file_template"
+
+file_extension=$(echo $file_template | sed -e 's/.*\.\(.*$\)/\1/')
+file_base=$(echo $file_template | sed -e 's/\(.*\)\..*$/\1/')
+
+$debug && echo "file_extension = $file_extension"
+$debug && echo "file_base = $file_base"
+
+file_number=$(echo $file_base | sed -e 's/^.*-\([0-9]*$\)/\1/')
+file_stem=$(echo $file_base | sed -e 's/^\(.*\)-[0-9]*$/\1/')
+
+$debug && echo "file_number = $file_number"
+$debug && echo "file_number = $file_stem"
+
+while [ -e "$file_stem-$file_number.$file_extension" ]; do
+  file_number=$((file_number + 1))
+done
+new_file_name="$file_stem-$file_number.$file_extension"
+
+$debug && echo "new_file_name = $new_file_name" && read junk
+
+cp -pi "$file_template" "$new_file_name"
+#$EDITOR "$new_file_name"
+/usr/bin/vim -X -c 'set sw=2' -c 'set expandtab' -c 'set ai' -c 'set nowrap' \
+  "$new_file_name"
+clear
+cat "$new_file_name"
+cassini/home/peter/bo/2022ss/bs/20220404> ./vic
+file_template = parameters-7.sh
+file_extension = sh
+file_base = parameters-7
+file_number = 7
+file_number = parameters
+new_file_name = parameters-8.sh
+^C
diff --git a/20220404/vicat b/20220404/vicat
new file mode 100755
index 0000000..c3565c6
--- /dev/null
+++ b/20220404/vicat
@@ -0,0 +1,5 @@
+#!/bin/bash
+/usr/bin/vim -X -c 'set sw=2' -c 'set expandtab' -c 'set ai' -c 'set nowrap' "$@"
+clear
+shift $(( $# - 1 ))
+cat "$1"
-- 
GitLab