Compare commits
7 Commits
e265d95dd9
...
1.9
| Author | SHA1 | Date | |
|---|---|---|---|
| 91a330998b | |||
| 7628e01b69 | |||
| 7ab41a9829 | |||
| 684e62e0d8 | |||
| bc827535b9 | |||
| 1ba9b4ba52 | |||
| 88f7a07626 |
6
really-long-command
Executable file
6
really-long-command
Executable file
@@ -0,0 +1,6 @@
|
||||
#! /usr/bin/env bash
|
||||
|
||||
for i in {1..4}; do
|
||||
echo "[$$] finished ${i}/4 ticks"
|
||||
sleep 1
|
||||
done
|
||||
46
spinner.sh
Executable file
46
spinner.sh
Executable file
@@ -0,0 +1,46 @@
|
||||
#! /usr/bin/bash
|
||||
|
||||
spinner_pid=
|
||||
|
||||
usage() {
|
||||
local name=${0##*/}
|
||||
cat <<-EOF
|
||||
Usage: ${name} {options] <cmd>
|
||||
|
||||
Run a command with an animated spinner.
|
||||
EOF
|
||||
}
|
||||
spinner() {
|
||||
local chars=('\' '|' '/' '-')
|
||||
local c
|
||||
|
||||
while true; do
|
||||
for c in ${chars[@]}; do
|
||||
printf "<%s>\r" "${c}"
|
||||
sleep .2
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
echo "done"
|
||||
if [[ -n ${spinner_pid} ]]; then
|
||||
kill "${spinner_pid}"
|
||||
fi
|
||||
echo "[$$] finished spinner"
|
||||
}
|
||||
|
||||
main() {
|
||||
trap cleanup EXIT
|
||||
|
||||
spinner &
|
||||
spinner_pid=$!
|
||||
|
||||
if (( $# == 0)); then
|
||||
usage >&2
|
||||
return 1
|
||||
fi
|
||||
"$@"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
10
teil25/notrap
Executable file
10
teil25/notrap
Executable file
@@ -0,0 +1,10 @@
|
||||
#! /usr/bin/bash
|
||||
|
||||
|
||||
touch /tmp/testfile
|
||||
|
||||
sleep 10
|
||||
echo "Ende der Arbeit"
|
||||
|
||||
rm /tmp/testfile
|
||||
|
||||
23
teil25/on-exit.sh
Executable file
23
teil25/on-exit.sh
Executable file
@@ -0,0 +1,23 @@
|
||||
#! /usr/bin/bash
|
||||
|
||||
on_exit() {
|
||||
echo "Programmende signalisiert."
|
||||
}
|
||||
|
||||
on_debug() {
|
||||
echo "debug handler"
|
||||
echo "[DEBUG] counter=${counter}"
|
||||
}
|
||||
|
||||
trap on_exit exit
|
||||
trap on_debug debug
|
||||
|
||||
|
||||
sleep 10
|
||||
#counter=0
|
||||
#while true; do
|
||||
# let counter++
|
||||
# echo "running..."
|
||||
#done
|
||||
|
||||
|
||||
15
teil25/sighup.sh
Executable file
15
teil25/sighup.sh
Executable file
@@ -0,0 +1,15 @@
|
||||
#! /usr/bin/bash
|
||||
|
||||
on_hup() {
|
||||
echo "hup handler"
|
||||
}
|
||||
|
||||
trap on_info SIGHUP
|
||||
|
||||
my_pid=$!
|
||||
echo "${my_pid}"
|
||||
while true; do
|
||||
sleep 1
|
||||
done
|
||||
|
||||
|
||||
15
teil25/trap
Executable file
15
teil25/trap
Executable file
@@ -0,0 +1,15 @@
|
||||
#! /usr/bin/bash
|
||||
|
||||
cleanup() {
|
||||
echo "Programmende signalisiert."
|
||||
rm /tmp/testfile
|
||||
}
|
||||
|
||||
trap cleanup exit
|
||||
touch /tmp/testfile
|
||||
|
||||
#trap - exit
|
||||
sleep 10
|
||||
echo "Ende der Arbeit"
|
||||
|
||||
|
||||
11
teil25/trap2
Executable file
11
teil25/trap2
Executable file
@@ -0,0 +1,11 @@
|
||||
#! /usr/bin/bash
|
||||
|
||||
|
||||
trap "echo vorbei" SIGINT
|
||||
|
||||
touch /tmp/testfile
|
||||
|
||||
sleep 10
|
||||
echo "Ende der Arbeit"
|
||||
|
||||
|
||||
6
teil26/help.txt
Normal file
6
teil26/help.txt
Normal file
@@ -0,0 +1,6 @@
|
||||
Dies ist ein Beispiel für
|
||||
einen mehrzeiligen Text,
|
||||
der für einen Hilfetext steht.
|
||||
|
||||
Programm: ${0##*/}"
|
||||
|
||||
13
teil26/version1.sh
Executable file
13
teil26/version1.sh
Executable file
@@ -0,0 +1,13 @@
|
||||
#! /usr/bin/bash
|
||||
|
||||
# Version 1: Ausgabe über echo
|
||||
|
||||
usage() {
|
||||
echo "Dies ist ein Beispiel für"
|
||||
echo "einen mehrzeiligen Text,"
|
||||
echo "der für einen Hilfetext steht."
|
||||
echo "Programm: ${0##*/}"
|
||||
}
|
||||
|
||||
usage
|
||||
exit 0
|
||||
10
teil26/version2.sh
Executable file
10
teil26/version2.sh
Executable file
@@ -0,0 +1,10 @@
|
||||
#! /usr/bin/bash
|
||||
|
||||
# Version 2: Ausgabe einer externen Datei mit cat
|
||||
|
||||
usage() {
|
||||
cat help.txt
|
||||
}
|
||||
|
||||
usage
|
||||
exit 0
|
||||
17
teil26/version3.sh
Executable file
17
teil26/version3.sh
Executable file
@@ -0,0 +1,17 @@
|
||||
#! /usr/bin/bash
|
||||
|
||||
# Version 3: Text als Heredoc innerhalb des Scripts
|
||||
|
||||
usage() {
|
||||
cat <<- EOF
|
||||
Dies ist ein Beispiel für
|
||||
einen mehrzeiligen Text,
|
||||
der für einen Hilfetext steht.
|
||||
|
||||
Programm: ${0##*/}"
|
||||
EOF
|
||||
|
||||
}
|
||||
|
||||
usage
|
||||
exit 0
|
||||
18
teil26/version4.sh
Executable file
18
teil26/version4.sh
Executable file
@@ -0,0 +1,18 @@
|
||||
#! /usr/bin/bash
|
||||
|
||||
# Version 3: Text als Heredoc innerhalb des Scripts,
|
||||
# diesmal mit Redirection in eine Datei.
|
||||
|
||||
usage() {
|
||||
cat <<- EOF > test.txt
|
||||
Dies ist ein Beispiel für
|
||||
einen mehrzeiligen Text,
|
||||
der für einen Hilfetext steht.
|
||||
|
||||
Programm: ${0##*/}"
|
||||
EOF
|
||||
|
||||
}
|
||||
|
||||
usage
|
||||
exit 0
|
||||
Reference in New Issue
Block a user