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