From 1a2d33a7576d181dba6e2ae49f318c11562f7984 Mon Sep 17 00:00:00 2001 From: Jack-Benny Persson Date: Wed, 11 Dec 2013 20:10:48 +0100 Subject: [PATCH] =?UTF-8?q?Gjort=20f=C3=B6rsta=20=C3=B6vningen=20p=C3=A5?= =?UTF-8?q?=20labb=204?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Labb4/laborationsrapport.md | 10 ++++++++++ Labb4/ovning1.sh | 24 ++++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100755 Labb4/ovning1.sh diff --git a/Labb4/laborationsrapport.md b/Labb4/laborationsrapport.md index 6e3c075..e185d5f 100644 --- a/Labb4/laborationsrapport.md +++ b/Labb4/laborationsrapport.md @@ -27,8 +27,18 @@ echo $Summa # Svaret blir 1, efter 3*3=9+1=10, alltså resten är 1. Istället för `let` kan man instället skriva `Summa=$((4+4)); echo $Summa` och vi får svaret 8. ### Övningar ### +* [Övning 1](https://github.com/jackbenny/scripts_grundkurs/blob/master/Labb4/ovning1.sh) ## Reflektion ## En lösning på problemet med att Bash bara räknar med int är att istället använda `bc` (Bench Calculator) istället för `let` i Bash. Observera dock här att `bc` inte heller räknar mer än int (heltal) som standard. T.ex. så blir `echo "10/3" | bc` också 3. Tricket här att är att ställa in __scale__ variablen till `bc`. T.ex. så blir `echo "scale=3;10/3" | bc` helt korrekt 3.33. +En annan cool sak som stod i laborationen var det om Variable Substution. Att kunna tilldela en variabel ett specifikt värde om den är tom, t.ex `Variabel=""; echo ${Variabel:=test}. +Att kunna byta ut strängar i variabler är också en häftig funktion och väldigt "sed lik". T.ex. nedanstående kodstycke +```bash +Var="Hej alla glada" +Var=${Var/glada/sura} +echo $Var # "Hej alla sura" skrivs ut +``` + +Att kunna söka efter variabler är också trevligt, typ `echo ${!U}` som kommer att matcha t.ex. UID och USER. diff --git a/Labb4/ovning1.sh b/Labb4/ovning1.sh new file mode 100755 index 0000000..c07732f --- /dev/null +++ b/Labb4/ovning1.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# Jack-Benny Persson +# LX13 +# Övning 1, labb 4 + +# Get user input +read -p "Enter first number: " Tal1 +read -p "Enter second number: " Tal2 + +# Do the calulations +Add=$((Tal1+Tal2)) +Sub=$((Tal1-Tal2)) +Tim=$((Tal1*Tal2)) +Div=$((Tal1/Tal2)) +Mod=$((Tal1%Tal2)) + +# Print the calulcations and answers +echo "$Tal1 + $Tal2 = $Add" +echo "$Tal1 - $Tal2 = $Sub" +echo "$Tal1 * $Tal2 = $Tim" +echo "$Tal1 / $Tal2 = $Div, rest: $Mod" + +exit 0