# Bash

# Script



# If-Abfrage

Mit Hilfe der IF-Abfrage können diverse Zustände abgefragt werden und entsprechend weiter Verarbeitet werden. Die Abfrage ist ähnlich wie bei EXCEL eine WENN-Abfrage.

# Aufbau

Die Basis-IF-Abfrage hat den folgenden Aufbau:

``` bash
if [ Abfrage ];then
  Resultat wenn abfrage Ok
fi

```

Die Abfrage kann mit den zwei Werten `else` und mit `elif` entsprechende erweitert werden. Der Wert `else` entspricht bei der WENN-Abfrage dem Sonst.

# Snippets

## Sprache
Sprache des User ermitteln:
``` bash
local _var_lang=$(locale | grep "LANG=" | cut -d"=" -f2 | cut -d"_" -f1)
```
Code des User ermitteln:
``` bash
local _var_lang=$(locale | grep "LANG=" | cut -d"=" -f2)
```
## Zeit und Datum
Aktuelles Datum ermitteln:
``` bash
local _var_today=$(date +"%d.%m.%Y")
```
Aktuelle Zeit ermitteln:
``` bash
local _var_time=$(date +"%H:%M:%S")
local _var_today=$(date +"%T")
```

https://cloud.holzfeind.ch/index.php/s/MFPppfRZ35SmyYx

# Whiptail

Mittels `whiptail` können einfache Interaktive Scripte geschrieben werden.
## Infobox

## Message-Box

## Menü

## Einstellungen
Es kann immer wieder vorkommen, dass die Einstellungen des Terminal für die Funktion von Whiptail angepasst werden müssen. In den meisten Fällen muss nur die `TERM`-Einstellungen angepasst werden, hier für sind folgende Befehle hilfreich:
``` bash
_VAR_TERM_TMP="xterm"
_VAR_TERM_ORG="$TERM"
TERM="$_VAR_TERM_TMP"
whiptail
TERM="$_VAR_TERM_ORG"
```
Falls nach der beendigung des Scripts, keine Tastatur-Eingabe mehr möglich ist bzw. angezeigt wird, können folgende Anpassung am Anfang und am Ende helfen:
``` bash
_VAR_TTY_SETTING=$(stty -g)
whiptail
stty "$_VAR_TTY_SETTING"
```