Mailinglist Archive: opensuse-de (4464 mails)

< Previous Next >
bash-script -- Workaround vermeiden?
  • From: Bernd Tannenbaum <tannenbaum@xxxxxxxxxxxxxxxxx>
  • Date: Tue, 2 Sep 2003 11:37:44 +0200
  • Message-id: <200309021137.44757.tannenbaum@xxxxxxxxxxxxxxxxx>
Hullos zusammen,

der Bernd hat mal wieder ein kleines Script geschrieben, ohne Ahnung vom
Programmieren zu haben. Diesmal hat es zu meiner Verwunderung allein
geklappt, allerdings bin ich nicht zu 100% glücklich mit der Lösung. Ist nur
ein 10-Zeiler, daher hab ich ihn in der Mail mal gepostet. Würde gern um den
Workaround mit der Textdatei drumherumkommen, vielleicht hat da einer nen
entscheidenden Tip für mich?

( Ziel des Scriptes ist es, autossh aufrufen zu können, ohne ständig einen
Port mit der -M Option mitübergeben zu müssen. Das soll hiermit automatisiert
sein, klappt auch. )

Programmaufruf: assh x.x.x.x
##############################
#! /bin/bash
# Ziel-IP als Parameter übergeben?
if test $# -ne 1;then
echo "Usage: assh IPadress"
exit 1
fi
# Textdatei /etc/zaehler_assh einlesen
# Variable var1 = zaehler_assh
var1=`/bin/cat /etc/zaehler_assh`
# Wenn var1 > 21000, dann var1 = 20000
if [ $var1 -gt 21000 ];then
var1=20000
fi
# var2 = var1 + 1
var2=$[$var1+1]
# var2 in Textdatei /etc/zaehler_assh schreiben
`echo $var2 > /etc/zaehler_assh`
# autossh mit übergebener IP und var1 als Port ausführen
/usr/bin/autossh -M $var1 $1
######################

Wie man sieht, verwende ich eine simple Textdatei, in der ich einen
Zählerstand speichere, der von jedem Terminal, das ich aufmache benutzt
werden kann. Meine ursprünglichen Versuche konzentrierten sich allerdings
eigentlich auf die Verwendung von "export". Ich hatte dran gedacht, eine
globale Variable mit "20000" zu definieren und bei jedem Scriptaufruf
hochzählen zu lassen. Nur wurde mein export-Befehl aus dem Shell-Programm
nicht so wirklich umgesetzt. Ist das generell überhaupt möglich? Können
verschiedene Terminals auf diese Art eine globale Variable gemeinsam nutzen
und hochzählen oder bin ich da auf dem falschen Dampfer?

Any advice welcome,
Bernd





--

One OS to rule them all, one OS to find them.
One OS to bring them all, and in the darkness bind them
In the land of Redmond, where the shadows lie.

< Previous Next >
Follow Ups