aboutsummaryrefslogtreecommitdiff
path: root/entries
diff options
context:
space:
mode:
authorMegha Singhania2022-10-24 03:29:52 +0000
committerMegha Singhania2022-10-24 03:29:52 +0000
commitf426d8a9b0b17336838b8840a4e5374f34949383 (patch)
treec195987d0f8d65241893bfcd6ab9956fdd3407f6 /entries
parentd0208871d8c9cf86541b56afe6b830c5a20eb2c2 (diff)
bash: add fib function
Diffstat (limited to 'entries')
-rw-r--r--entries/meghasinghania22/bash/script.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/entries/meghasinghania22/bash/script.sh b/entries/meghasinghania22/bash/script.sh
new file mode 100644
index 0000000..0cbba4d
--- /dev/null
+++ b/entries/meghasinghania22/bash/script.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+int_regex='^[0-9]+$'
+function fib(){
+ if [ "$1" -le 1 ]; then
+ echo $1
+ else
+ echo $[`fib $[$1 - 1]` + `fib $[$1 - 2]` ]
+ fi
+}
+
+function main(){
+ echo -n "Enter a whole number: "
+ read num
+
+ if [ -z "$num" ]; then
+ echo "Uh oh! Argument required!"
+ elif ! [[ "$num" =~ $int_regex ]]; then
+ echo "Uh oh! Argument must be a number :|"
+ elif [ "$num" -lt 0 ]; then
+ echo "Uh oh! Argument must be a whole number :|"
+ else
+ fib $num
+ fi
+
+}
+
+main \ No newline at end of file