Rechenanweisung in Variablen

Sie können Anweisungen für eine Rechenoperation auch in einer Variablen unterbringen. Da die Möglichkeit besteht, dass ein Anwender mit negativen Zahlen rechnet, müssen Sie Variablen, die Zahlen führen, mit entwerteten Klammern umgeben (Listing 3). Abbildung 6 zeigt die Ausgabe mit zwei Kommastellen.

Listing 3

#! /bin/bash
#rechner.sh
read -p "     Erste Zahl: " a
read -p "Rechenanweisung: " op
read -p "    Zweite Zahl: " b
echo -n "$a $op $b ergibt "; spigot --rn -d50 \($a$op$b\) --printf %10.2f
Abbildung 6: Bei Bedarf speichern Sie eine Rechenanweisung in einer Variable.

Ergebnisse plotten

Wenn Sie das Berechnen des Schwingkreises etwas ergänzen, liefert das Skript sogar die nötigen Daten für ein Schaubild. Auf diese Weise ließen sich etwa abstimmbare Schwingkreise berechnen (Frequenzvariation durch Drehkondensator). Im Beispiel aus Listing 4 kommen außerdem die Kreiszahl (pi) und die Wurzelfunktion sqrt zum Einsatz.

Listing 4

#! /bin/bash
#vfo.sh
# Löschen evtl. vorhandener Ergebnistabelle
rm ergtab.txt
clear
echo "Berechnung Abstimmbereich LC-Schwingkreis"
echo "--------------------------------------------------"
read -p "              Spule: Induktivität in µH: " L
read -p "   Drehkondensator: höchster Wert in pF: " Cmax
read -p "Drehkondensator: niedrigster Wert in pF: " Cmin
# Cmin um 1 vermindern für for-Schleife
Cmin=$(echo $Cmin | spigot 'base10fd:0-1')
for (( C =Cmax; C > Cmin; C--)); do
  qrg=$(spigot --rn -d50 "$L"e-6*"$C"e-12 | spigot --rn -d50 '(1/(2pi*sqrt(base10fd:0))/1000000)' --printf %10.3f)
  echo "$C $qrg" >> ergtab.txt
done
gnuplot ergtab.plt
evince ausgabe.eps

Die For-Schleife gibt je Durchgang den um 1 verminderten maximalen Wert für die Kapazität (Cmax) des Drehkondensators an, bis der Minimalwert (Cmin) erreicht ist. Die Ergebnisse (Werte für Kapazität und Frequenz) landen in einer Tabelle. Mittels Gnuplot [4] erstellen Sie das Diagramm als EPS-Datei, die Sie dann mit dem Programm Evince anzeigen. Abbildung 7 zeigt den Ablauf mit dem Ergebnis.

Abbildung 7: Mit Spigot berechnen Sie nicht nur Daten, sondern geben diese bei Bedarf auch als Plot wieder aus.

Um die Grafik etwas ansprechender zu gestalten, schreiben Sie die passenden Anweisungen in eine Datei mit der Endung .plt (Listing 5). Dorthin kommen Angaben zu den Achsen, zum Raster und zur Beschriftung sowie das Format für die Ausgabe (hier: eps).

Listing 5

set term eps
set grid xtics mxtics ytics mytics linestyle 5
set sample 100000
set xtics 0,5
set mxtics 2
set ytics 0,1
set mytics 2
set xlabel "Kondensator (pF)"
set ylabel "Frequenz (MHz)"
set output "ausgabe.eps"
plot "ergtab.txt" with lines title "Frequenz (MHz)"

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Ohne Crash durch die Bash
    Mit der Bourne-Again-Shell schreiben Linux-Anwender Skripte, die nervige und stupide Aufgaben automatisieren – etwa um auf dem Notebook Strom einzusparen.
  • Mehr Komfort
    Von einfachen Abfragen bis hin zu komplexen Menüs: Mit dem Toolkit Dialog bauen Sie eine grafische Oberfläche für Shell-Skripte, die oft nicht mehr als eine zusätzliche Zeile brauchen.
  • Kleine nützliche Dinge für die Shell
  • Kreislauf
    Schleifen ermöglichen das mehrmalige Abarbeiten von Anweisungen. Dabei kann das begrenzende Ereignis sowohl außerhalb als auch innerhalb der Schleife liegen.
  • Verschlungene Pfade
    Mit Schleifen, Fallunterscheidungen und Funktionen programmieren Sie komplexe Skripte auf einfache und elegante Weise.
Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Broadcom Adapter 802.11n nachinstallieren
Thomas Mengel, 31.10.2017 20:06, 2 Antworten
Hallo, kann man nachträglich auf einer Liveversion, MX Linux auf einem USB-Stick, nachträglich...
RUN fsck Manually / Stromausfall
Arno Krug, 29.10.2017 12:51, 1 Antworten
Hallo, nach Absturz des Rechners aufgrund fehlendem Stroms startet Linux nicht mehr wie gewohn...
source.list öffnet sich nicht
sebastian reimann, 27.10.2017 09:32, 2 Antworten
hallo Zusammen Ich habe das problem Das ich meine source.list nicht öffnen kann weiß vlt jemman...
Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 6 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...