Compare commits
	
		
			16 Commits
		
	
	
		
			1.1
			...
			e4190bae83
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| e4190bae83 | |||
| 6545189eb0 | |||
| 4e375b5d08 | |||
|   | 2be3db4187 | ||
|   | 9dc5a2550c | ||
|   | 6f82b9eda4 | ||
|   | 28dada6046 | ||
| deeb9080fe | |||
|   | 578119d663 | ||
|   | 23e7a9090a | ||
| 48da83fdd3 | |||
| 82620782b3 | |||
| b1065a657e | |||
| 68a8069739 | |||
|   | 36837548d2 | ||
|   | 407d7ef5c0 | 
							
								
								
									
										26
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								README.md
									
									
									
									
									
								
							| @@ -2,12 +2,22 @@ | ||||
|  | ||||
| Dateien des bash Tutorioals auf raspithek.de | ||||
|  | ||||
| | Kapitel| Beschreibung| | ||||
| |--------|-------------| | ||||
|    1     |Einführung   | | ||||
| |  2     |Hello World  | | ||||
| |  3     | exit Codes  | | ||||
| |  4     |Variablen    | | ||||
| |  5     |Verzweigungen| | ||||
| |  6     |Svhleifen    | | ||||
| | Kapitel| Beschreibung           | | ||||
| |--------|------------------------| | ||||
|    1     |Einführung              | | ||||
| |  2     |Prompt                  | | ||||
| |  3     |key bindings            | | ||||
| |  4     |Startvorgang            | | ||||
| |  5     |Environmentvariablen    | | ||||
| |  6     |builtins                | | ||||
| |  7     |Dateien                 | | ||||
| |  8     |nano                    | | ||||
| |  9     |bash Scripting          | | ||||
| | 10     |Variablen               | | ||||
| | 11     |Verzweigungen           | | ||||
| | 12     |Schleifen               | | ||||
| | 13     |Parameter               | | ||||
| | 14     |exit Codes              | | ||||
| | 15     |von der Idee zum Script | | ||||
| | 16     |Funktionen              | | ||||
|  | ||||
|   | ||||
							
								
								
									
										2
									
								
								alias/noalias.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										2
									
								
								alias/noalias.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,2 @@ | ||||
|  | ||||
| ll | ||||
							
								
								
									
										3
									
								
								alias/yesalias.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								alias/yesalias.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| shopt -s expand_aliases  # Aktiviert Aliase | ||||
| alias ll='ls -la' | ||||
| ll | ||||
							
								
								
									
										8
									
								
								piping/debello.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								piping/debello.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| Gallia est omnis divisa in partes tres, quarum unam incolunt Belgae, aliam Aquitani, tertiam qui ipsorum lingua Celtae, nostra Galli appellantur. | ||||
|  Hi omnes lingua, institutis, legibus inter se differunt. | ||||
|  Gallos ab Aquitanis Garunna flumen, a Belgis Matrona et Sequana dividit. | ||||
|  Horum omnium fortissimi sunt Belgae, propterea quod a cultu atque humanitate provinciae longissime absunt, minimeque ad eos mercatores saepe commeant atque ea quae ad effeminandos animos pertinent, important, proximique sunt Germanis, qui trans Rhenum incolunt, quibuscum continenter bellum gerunt. | ||||
|  Qua de causa Helvetii quoque reliquos Gallos virtute praecedunt, quod fere cotidianis proeliis cum Germanis contendunt, cum aut suis finibus eos prohibent aut ipsi in eorum finibus bellum gerunt. | ||||
|  Eorum una pars, quam Gallos obtinere dictum est, initium capit a flumine Rhodano, continetur Garumna flumine, Oceano, finibus Belgarum, attingit etiam ab Sequanis et Helvetiis flumen Rhenum, vergit ad septentriones. | ||||
|  Belgae ab extremis Galliae finibus oriuntur, pertinent ad inferiorem partem fluminis Rheni, spectant in septentrionem et orientem solem. | ||||
|  Aquitania a Garunna flumine ad Pyrenaeos montes et eam partem Oceani quae est ad Hispaniam pertinet; spectat inter occasum solis et septentriones. | ||||
							
								
								
									
										0
									
								
								piping/ls.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								piping/ls.txt
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										10
									
								
								teil14/ifexit.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								teil14/ifexit.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| #! /usr/bin/bash | ||||
|  | ||||
| ./sub.sh ${1} | ||||
|  | ||||
| if [ ${?} -eq 0 ]; then | ||||
|   echo "sub.sh erfolgreich" | ||||
| else | ||||
|   echo "sub.sh fehlgeschlagen" | ||||
| fi | ||||
|  | ||||
							
								
								
									
										4
									
								
								teil14/simpleexit.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								teil14/simpleexit.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| # /usr/bin/bash | ||||
|  | ||||
| echo "Beispiel für exit Code" | ||||
| exit 2 | ||||
							
								
								
									
										10
									
								
								teil14/sub.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								teil14/sub.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,10 @@ | ||||
| # !/usr/bin/bash | ||||
|  | ||||
| if [ "${1}" == "fail" ]; then | ||||
|   echo " ${0}: failing" | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
|  | ||||
| exit 0 | ||||
|  | ||||
							
								
								
									
										59
									
								
								teil15/sdcardtester
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										59
									
								
								teil15/sdcardtester
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,59 @@ | ||||
| #! /usr/bin/bash | ||||
|  | ||||
| MOUNTPOINT='/mnt/speedtest' | ||||
|  | ||||
| # number of threads used during testing | ||||
| nproc=4 | ||||
|  | ||||
| if [ "$EUID" -ne 0 ] | ||||
|   then echo "Please run as root" | ||||
|   exit 1 | ||||
| fi | ||||
|  | ||||
| if [ "${1}" ]; then | ||||
|  DEVICE=${1} | ||||
|  PARTITION=${DEVICE}1 | ||||
|  echo "using device ${DEVICE}" | ||||
| else | ||||
|  echo "using default device ${DEVICE}" | ||||
| fi | ||||
|  | ||||
| # check if sd card is inserted | ||||
| if [ -e ${DEVICE} ]; then | ||||
|   echo "card inserted" | ||||
| else | ||||
|   echo "no sd card found" | ||||
|   exit 2 | ||||
| fi | ||||
|  | ||||
| echo "deleting partion #1" | ||||
| sfdisk --delete -w ${DEVICE} 1 && sync | ||||
|  | ||||
| echo "creating new ext4 partition" | ||||
| echo ",," |sfdisk ${DEVICE} && sync | ||||
|  | ||||
| echo "creating ext4 filesystem on ${PARTITION}" | ||||
| echo "y" |mkfs.ext4 ${PARTITION} | ||||
|  | ||||
| #check if mount point is available, create otherwise | ||||
| if [ ! -d "${MOUNTPOINT}" ]; then mkdir "${MOUNTPOINT}"; fi | ||||
| mount -t ext4 "${PARTITION}" "${MOUNTPOINT}" | ||||
| cd "${MOUNTPOINT}" | ||||
| echo "preparing tests" | ||||
| sysbench fileio --file-total-size=8G prepare > /dev/null | ||||
|  | ||||
| # Test with 16K block size, random read/write | ||||
| echo "run test with 16K block size" | ||||
| sysbench fileio --file-block-size=16K --file-total-size=8G --file-test-mode=rndrw --threads=$(nproc) run | ||||
|  | ||||
| # Test with 1M  block size, random read/write | ||||
| echo "run test with 1M block size" | ||||
| sysbench fileio --file-block-size=1M --file-total-size=8G --file-test-mode=rndrw --threads=$(nproc) run | ||||
|  | ||||
| # cleanup the test files | ||||
| echo "cleaning up test files" | ||||
| sysbench fileio --file-total-size=8G cleanup | ||||
| cd - >/dev/null | ||||
| umount ${PARTITION} | ||||
|  | ||||
|  | ||||
							
								
								
									
										14
									
								
								teil16/loop-func.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								teil16/loop-func.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| #! /usr/bin/bash | ||||
| # File: loop-func.sh | ||||
|  | ||||
| function hallo() { | ||||
|   echo "Hallo 1" | ||||
|   echo "-------" | ||||
| } | ||||
|  | ||||
| count=1 | ||||
|  | ||||
| while [ ${count} -le 4 ]; do | ||||
|   hallo | ||||
|   count=$((${count} + 1)) | ||||
| done | ||||
							
								
								
									
										14
									
								
								teil16/mult-echo.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								teil16/mult-echo.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| #! /usr/bin/bash | ||||
| # File: mult-echo.sh | ||||
|  | ||||
| echo "Hallo 1" | ||||
| echo "-------" | ||||
|  | ||||
| echo "Hallo 1" | ||||
| echo "-------" | ||||
|  | ||||
| echo "Hallo 1" | ||||
| echo "-------" | ||||
|  | ||||
| echo "Hallo 1" | ||||
| echo "-------" | ||||
							
								
								
									
										13
									
								
								teil16/param-func.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								teil16/param-func.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| #! /usr/bin/bash | ||||
| # File: param-func.sh | ||||
|  | ||||
| function hallo() { | ||||
|   echo "Hallo ${1}" | ||||
| } | ||||
|  | ||||
| count=1 | ||||
|  | ||||
| while [ ${count} -le 4 ]; do | ||||
|   hallo "${count}" | ||||
|   count=$((${count} + 1)) | ||||
| done | ||||
							
								
								
									
										14
									
								
								teil16/return-value-echo.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								teil16/return-value-echo.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| #! /usr/bin/bash | ||||
| # File: return-value-echo.sh | ||||
|  | ||||
|  | ||||
| function square() { | ||||
|  | ||||
|   echo $(( ${1} * ${1} )) | ||||
| } | ||||
|  | ||||
|  | ||||
| square "2" | ||||
| square "4" | ||||
| square "3" | ||||
| square "32" | ||||
							
								
								
									
										20
									
								
								teil16/return-value-echo2.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										20
									
								
								teil16/return-value-echo2.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,20 @@ | ||||
| #! /usr/bin/bash | ||||
| # File: return-value-echo2.sh | ||||
|  | ||||
|  | ||||
| function square() { | ||||
|  | ||||
|   echo $(( ${1} * ${1} )) | ||||
| } | ||||
|  | ||||
|  | ||||
| s2=$(square "2") | ||||
| s4=$(square "4") | ||||
| s3=$(square "3") | ||||
| s32=$(square "32") | ||||
|  | ||||
|  | ||||
| echo "Das Quadrat von 2 ist ${s2}" | ||||
| echo "Das Quadrat von 4 ist ${s4}" | ||||
| echo "Das Quadrat von 3 ist ${s3}" | ||||
| echo "Das Quadrat von 32 ist ${s32}" | ||||
							
								
								
									
										18
									
								
								teil16/return-value-return.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										18
									
								
								teil16/return-value-return.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| #! /usr/bin/bash | ||||
| # File: return-value-return.sh | ||||
|  | ||||
|  | ||||
| function square() { | ||||
|  | ||||
|   return $(( ${1} * ${1} )) | ||||
| } | ||||
|  | ||||
|  | ||||
| square "2" | ||||
| echo "Quadrat von 2 ist ${?}" | ||||
| square "4" | ||||
| echo "Quadrat von 4 ist ${?}" | ||||
| square "3" | ||||
| echo "Quadrat von 3 ist ${?}" | ||||
| square "32" | ||||
| echo "Quadrat von 32 ist ${?}" | ||||
							
								
								
									
										33
									
								
								teil16/scope/scope.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										33
									
								
								teil16/scope/scope.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,33 @@ | ||||
| #!/usr/bin/bash | ||||
| # File: scope/scope.sh | ||||
|  | ||||
| # Globale Variable | ||||
| global_var="Ich bin global" | ||||
|  | ||||
| # Funktion mit lokaler Variable | ||||
| funktion_mit_lokaler_var() { | ||||
|     local local_var="Ich bin lokal" | ||||
|     var_ohne_local="Ich bin lokal ohne local" | ||||
|     global_var="Ich wurde in der Funktion verändert" | ||||
|  | ||||
|     echo "Innerhalb der Funktion:" | ||||
|     echo "Globale Variable: ${global_var}" | ||||
|     echo "Lokale Variable: ${local_var}" | ||||
| } | ||||
|  | ||||
| # Hauptskript | ||||
| echo "Vor Funktionsaufruf:" | ||||
| echo "Globale Variable: ${global_var}" | ||||
|  | ||||
| # Funktionsaufruf | ||||
| funktion_mit_lokaler_var | ||||
|  | ||||
| # Nach Funktionsaufruf | ||||
| echo "Nach Funktionsaufruf:" | ||||
| echo "Globale Variable: ${global_var}" | ||||
|  | ||||
| echo "var_ohne_local: ${var_ohne_local}" | ||||
| # Versuch, auf die lokale Variable zuzugreifen (dies wird fehlschlagen) | ||||
| echo "Versuch, auf die lokale Variable außerhalb der Funktion zuzugreifen:" | ||||
| echo "Lokale Variable: ${local_var}" | ||||
|  | ||||
							
								
								
									
										13
									
								
								teil16/simple-func.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								teil16/simple-func.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| #! /usr/bin/bash | ||||
| # File: simple-func.sh | ||||
|  | ||||
| function hallo() { | ||||
|   echo "Hallo 1" | ||||
|   echo "-------" | ||||
|  | ||||
| } | ||||
|  | ||||
| hallo | ||||
| hallo | ||||
| hallo | ||||
| hallo | ||||
							
								
								
									
										1
									
								
								teil17/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								teil17/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| backup.txt | ||||
							
								
								
									
										8
									
								
								teil17/familie.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								teil17/familie.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| Simpson, Marge | ||||
| Simpson, Homer | ||||
| simpson, Abe | ||||
| Simpson, Bart | ||||
| Simpson, Lisa | ||||
| Simpson, Maggie | ||||
| Powell, Herb | ||||
|  | ||||
							
								
								
									
										24
									
								
								teil17/schule.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								teil17/schule.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| --- Lehrer ----- | ||||
| Skinner, Seymour | ||||
| Krababel, Edna | ||||
| Hoover, Elisabeth | ||||
| Largo, Dewey | ||||
|  | ||||
| --- Schüler ---- | ||||
| 2: Powell, Janey | ||||
| 2: Wiggum, Ralph | ||||
| 2: Simpson, Lisa | ||||
| 2: Shorter, Becky | ||||
| 2: Taylor, Alison | ||||
| 4: Kyle | ||||
| 4: Clark, Lewis | ||||
| 4: van Houten, Milhouse | ||||
| 4: Simpson, Bart | ||||
| 4: Muntz, Nelson | ||||
| 4: Borton, Wendell | ||||
| 4: Prince, Martin | ||||
| 6: Starbeam, Dolph | ||||
| 6: Jones, Jimbo | ||||
| 6: Zzyswincz, Kearney | ||||
| ?: Zörker, Uter | ||||
|  | ||||
							
								
								
									
										6
									
								
								teil17/snpp.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								teil17/snpp.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| Burns, Monty | ||||
| Smithers, Waylon | ||||
| Carlson, Carl | ||||
| Leonard, Lenny | ||||
| Simpson, Homer | ||||
|  | ||||
							
								
								
									
										7
									
								
								teil20/hello-shebang.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								teil20/hello-shebang.py
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| #! ./mybang | ||||
| def main(): | ||||
|     print("Hallo aus teil20!") | ||||
|  | ||||
|  | ||||
| if __name__ == "__main__": | ||||
|     main() | ||||
							
								
								
									
										4
									
								
								teil20/hello.js
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								teil20/hello.js
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| #! /usr/bin/node | ||||
| // Datei: hello.js | ||||
|  | ||||
| console.log('Hallo von JavaScript') | ||||
							
								
								
									
										9
									
								
								teil20/hello.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								teil20/hello.py
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| #! ./mybang | ||||
| # Datei: hello.py | ||||
|  | ||||
| def main(): | ||||
|     print("Hallo von Python") | ||||
|  | ||||
|  | ||||
| if __name__ == "__main__": | ||||
|     main() | ||||
							
								
								
									
										14
									
								
								teil20/mybang
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								teil20/mybang
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| #! /usr/bin/bash | ||||
| # Datei: mybang | ||||
|  | ||||
| echo "0:${0}" | ||||
| echo "1:${1}" | ||||
| echo "2:${2}" | ||||
|  | ||||
| if [[ "${USER}" == "pi" ]]; then | ||||
|     echo "User pi darf python ausführen." | ||||
|     python ${1} | ||||
| else | ||||
|     echo "Du darfst kein Python ausführen." | ||||
| fi | ||||
|  | ||||
							
								
								
									
										1
									
								
								teil21/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								teil21/.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| *.bak | ||||
							
								
								
									
										2
									
								
								teil21/commandlist.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								teil21/commandlist.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| s/Simpson/Thompson/ | ||||
| s/Flanders/Flunders/ | ||||
							
								
								
									
										1
									
								
								teil21/commands.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								teil21/commands.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| echo "Hello" | sed 's/Hello/Bye/' | ||||
							
								
								
									
										16
									
								
								teil21/families.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								teil21/families.txt
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| Simpson, Marge | ||||
| Simpson, Homer | ||||
| Simpson, Maggie | ||||
| Simpson, Lisa | ||||
| Simpson, Bart | ||||
|  | ||||
| #FLANDERS-START | ||||
| Flanders, Maude | ||||
| Flanders, Ned | ||||
| Flanders, Rod | ||||
| Flanders, Todd | ||||
| #FLANDERS-END | ||||
|  | ||||
| Wiggum, Sarah | ||||
| Wiggum, Clancy | ||||
| Wiggum, Ralph | ||||
							
								
								
									
										66
									
								
								teil23/parseargs.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										66
									
								
								teil23/parseargs.sh
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,66 @@ | ||||
| #!/bin/bash | ||||
|  | ||||
| # Universelle Parameterparser-Funktion | ||||
| parse_args() { | ||||
|     POSITIONAL=() | ||||
|     while [[ $# -gt 0 ]]; do | ||||
|         case "$1" in | ||||
|             -h|--help) | ||||
|                 echo "Usage: $0 [options]" | ||||
|                 echo "Options:" | ||||
|                 echo "  -h, --help          Show this help message" | ||||
|                 echo "  -v, --verbose       Enable verbose mode" | ||||
|                 echo "  -f, --file <file>   Specify a file" | ||||
|                 echo "  -n, --number <num>  Specify a number (default: 42)" | ||||
|                 exit 0 | ||||
|                 ;; | ||||
|             -v|--verbose) | ||||
|                 VERBOSE=true | ||||
|                 shift | ||||
|                 ;; | ||||
|             -f|--file) | ||||
|                 if [[ -z "$2" || "$2" == -* ]]; then | ||||
|                     echo "Error: --file requires a non-empty argument." | ||||
|                     exit 1 | ||||
|                 fi | ||||
|                 FILE="$2" | ||||
|                 shift 2 | ||||
|                 ;; | ||||
|             -n|--number) | ||||
|                 if [[ -z "$2" || "$2" == -* ]]; then | ||||
|                     echo "Error: --number requires a non-empty argument." | ||||
|                     exit 1 | ||||
|                 fi | ||||
|                 NUMBER="$2" | ||||
|                 shift 2 | ||||
|                 ;; | ||||
|             --) # Explicit end of options | ||||
|                 shift | ||||
|                 break | ||||
|                 ;; | ||||
|             -*) # Unknown option | ||||
|                 echo "Error: Unknown option $1" | ||||
|                 exit 1 | ||||
|                 ;; | ||||
|             *) # Positional argument | ||||
|                 POSITIONAL+=("$1") | ||||
|                 shift | ||||
|                 ;; | ||||
|         esac | ||||
|     done | ||||
|     set -- "${POSITIONAL[@]}" # Restore positional parameters | ||||
|  | ||||
|     # Defaults | ||||
|     VERBOSE="${VERBOSE:-false}" | ||||
|     NUMBER="${NUMBER:-42}" | ||||
| } | ||||
|  | ||||
| # Aufruf der Funktion mit allen Skriptargumenten | ||||
| parse_args "$@" | ||||
|  | ||||
| # Beispielnutzung | ||||
| echo "Verbose mode: $VERBOSE" | ||||
| echo "File: ${FILE:-<not set>}" | ||||
| echo "Number: $NUMBER" | ||||
| echo "Positional arguments: $@" | ||||
|  | ||||
		Reference in New Issue
	
	Block a user