BAEL-3451: First samples
This commit is contained in:
parent
d5681eb57c
commit
8ddfcd3412
72
linux-bash/functions/src/main/bash/functions.sh
Normal file
72
linux-bash/functions/src/main/bash/functions.sh
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
# simple input and output
|
||||||
|
# variable shadowing
|
||||||
|
# nesting and recursion
|
||||||
|
|
||||||
|
|
||||||
|
function simple_inputs() {
|
||||||
|
echo "This is the first argument [$1]"
|
||||||
|
echo "This is the second argument [$2]"
|
||||||
|
echo "Calling function with $# aruments"
|
||||||
|
}
|
||||||
|
|
||||||
|
global_variable="lorem"
|
||||||
|
function simple_outputs() {
|
||||||
|
sum=$(($1+$2))
|
||||||
|
echo "Sum is $sum"
|
||||||
|
global_variable="dolor"
|
||||||
|
# this is just the status code
|
||||||
|
# does not work if we want to return
|
||||||
|
# other than numerical
|
||||||
|
return $sum
|
||||||
|
}
|
||||||
|
|
||||||
|
# missing brackets still works
|
||||||
|
# as long as we have compound commands
|
||||||
|
function simple_for_loop()
|
||||||
|
# echo "Looping through numbers"
|
||||||
|
for ((i=0;i<5;++i)) do
|
||||||
|
echo -n " "$i;
|
||||||
|
done
|
||||||
|
|
||||||
|
function simple_comparison()
|
||||||
|
if [[ "$1" -lt 5 ]]; then
|
||||||
|
echo "$1 is smaller than 5"
|
||||||
|
else
|
||||||
|
echo "$1 is greater than 5"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# command groups with subshells
|
||||||
|
# with the limitation of new enviornments
|
||||||
|
function simple_subshell()
|
||||||
|
(
|
||||||
|
echo "I'm a little tea pot"
|
||||||
|
simple_comparison 10
|
||||||
|
cd ..
|
||||||
|
global_variable="ipsum"
|
||||||
|
)
|
||||||
|
|
||||||
|
function fibonnaci_recursion() {
|
||||||
|
argument=$1
|
||||||
|
if [[ "$argument" -eq 0 ]] || [[ "$argument" -eq 1 ]]; then
|
||||||
|
echo $argument
|
||||||
|
else
|
||||||
|
first=$(fibonnaci_recursion $(($argument-1)))
|
||||||
|
second=$(fibonnaci_recursion $(($argument-2)))
|
||||||
|
echo $(( $first + $second ))
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
simple_inputs one two three
|
||||||
|
simple_outputs 1 2
|
||||||
|
simple_for_loop
|
||||||
|
simple_comparison 6
|
||||||
|
simple_comparison 4
|
||||||
|
simple_subshell
|
||||||
|
echo $global_variable
|
||||||
|
|
||||||
|
#echo $(fibonnaci_recursion 7)
|
Loading…
x
Reference in New Issue
Block a user