From b446f85659acad34e3c1140bc5a41133ef17ac82 Mon Sep 17 00:00:00 2001 From: Jack-Benny Persson Date: Thu, 19 Dec 2013 15:29:29 +0100 Subject: [PATCH] =?UTF-8?q?Started=20=C3=B6vning=204,=20labb=206?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Labb6/ovning1.sh | 21 +++++++++++++++++++++ Labb6/ovning2.sh | 20 ++++++++++++++++++++ Labb6/ovning3.sh | 35 +++++++++++++++++++++++++++++++++++ Labb6/ovning4/calc.sh | 34 ++++++++++++++++++++++++++++++++++ Labb6/test_args.sh | 13 +++++++++++++ Labb6/test_array.sh | 19 +++++++++++++++++++ Labb6/test_func.sh | 29 +++++++++++++++++++++++++++++ 7 files changed, 171 insertions(+) create mode 100755 Labb6/ovning1.sh create mode 100755 Labb6/ovning2.sh create mode 100755 Labb6/ovning3.sh create mode 100644 Labb6/ovning4/calc.sh create mode 100755 Labb6/test_args.sh create mode 100755 Labb6/test_array.sh create mode 100755 Labb6/test_func.sh diff --git a/Labb6/ovning1.sh b/Labb6/ovning1.sh new file mode 100755 index 0000000..e333d65 --- /dev/null +++ b/Labb6/ovning1.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# Jack-Benny Persson +# LX13 +# Övning 1, labb 6 +# Arguments + +# Define some variables +Arg1=$1 +Arg2=$2 + +# Sanity checks +if [ $# -ne 2 ]; then + printf "`basename $0` requires two arguments\n" + exit 2 +fi + +printf "Argument 1 is ${Arg1}\n" +printf "Argument 2 is ${Arg2}\n" + +exit 0 diff --git a/Labb6/ovning2.sh b/Labb6/ovning2.sh new file mode 100755 index 0000000..b4c7d9f --- /dev/null +++ b/Labb6/ovning2.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# Jack-Benny Persson +# LX13 +# Övning 2, labb 6 +# Check EUID and empty /tmp/testdir/ + +# Sanity check +if [ $EUID -ne 0 ]; then + echo "`basename $0` must run as root" + exit 2 +fi + +rm /tmp/testdir/* 2> /dev/null +if [ $? -ne 0 ]; then + echo "Something went wrong when deleting files in /tmp/testdir/" + exit 2 +fi + +exit 0 diff --git a/Labb6/ovning3.sh b/Labb6/ovning3.sh new file mode 100755 index 0000000..d3a4f12 --- /dev/null +++ b/Labb6/ovning3.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Jack-Benny Persson +# LX13 +# Övning 3, labb 6 +# Draw a line with a function + +# Define variables +Nr=$1 +Iterate=0 + +# Sanity checks +if [ $# -ne 1 ]; then + echo "`basename $0` requires one argument" + exit 2 +fi + +if ! [ $Nr -eq $Nr &> /dev/null ]; then + echo "Use only integers" + exit 2 +fi + +# Define our functions +draw() +{ + while [ $Iterate -lt $Nr ]; do + printf "*" + ((Iterate++)) + done + printf "\n" +} + +draw + +exit 0 diff --git a/Labb6/ovning4/calc.sh b/Labb6/ovning4/calc.sh new file mode 100644 index 0000000..44a4203 --- /dev/null +++ b/Labb6/ovning4/calc.sh @@ -0,0 +1,34 @@ +#!/bin/bash + +# Jack-Benny Persson +# LX13 +# Övning 4, labb 6 +# Make a calculator that could do add, substract, divide and times + +# Define our variables +Nr1=$1 +Nr2=$2 + +# Define our functions +add() +{ + Sum=$((Nr1+Nr2)) +} + +sub() +{ + Sum=$((Nr1-Nr2)) +} + +div() +{ + Sum=$((Nr1/Nr2)) +} + +tim() +{ + Sum=$((Nr*Nr2)) +} + + +# Main diff --git a/Labb6/test_args.sh b/Labb6/test_args.sh new file mode 100755 index 0000000..31b5772 --- /dev/null +++ b/Labb6/test_args.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +# Jack-Benny Persson +# LX13 +# Labb 6, testing some arguments + +# Echo all arguments +echo $* + +# Echo the total number of arguments +echo $# + +exit 0 diff --git a/Labb6/test_array.sh b/Labb6/test_array.sh new file mode 100755 index 0000000..44ff448 --- /dev/null +++ b/Labb6/test_array.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +# Jack-Benny Persson +# LX13 +# Just testing arrays + +Content=`ls` + +Nr=0 + +for i in $Content; do + Word[$Nr]=$i + ((Nr++)) +done + +echo ${Word[@]} + +exit 0 + diff --git a/Labb6/test_func.sh b/Labb6/test_func.sh new file mode 100755 index 0000000..fca4ff7 --- /dev/null +++ b/Labb6/test_func.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# Jack-Benny Persson +# LX13 +# Testing functions + +Nr1=$1 +Nr2=$2 + +# Sanity checks +if [ $# -ne 2 ]; then + echo "`basename $0` requires two arguments (integers)" + exit 2 +fi + +# Functions +add() +{ + Sum=$((Nr1+Nr2)) + return $Sum +} + +# Main +add +echo $? +echo "Nr1 contained ${#Nr1} chars, Nr2 contained ${#Nr2}" + + +exit 0