Bash Script Anfänger sucht Hilfe!

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Twista
Beiträge: 28
Registriert: 29.10.2006 13:24:35

Bash Script Anfänger sucht Hilfe!

Beitrag von Twista » 05.01.2013 22:35:42

Guten Abend,

ich habe vor 2 Tagen angefangen Bash-Scripte zu Programmieren und ich komme nicht weiter.Google konnte mir nicht weiter helfen und nun seid Ihr gefragt! :hail:

Ich wollte ein Script schreiben das überprüft: Ist die "config" vorhanden, wenn nicht soll sie kopiert werden und in einen Bestimmten Ort gespeichert werden.
Und möchte das ganze auch mit einer Abfrage rückgänig machen:Wenn die "config" vorhanden ist löschen und wieder in einer extra Schleife überprüfen ob sie noch vorhanden ist oder ordnungsgemäß gelöscht wurde.

Code: Alles auswählen

#! /bin/bash

local="/foo/bar"
add="add"
del="del"

echo "add or del"
read adddel

if (  $addel=$add );
then
	if [ ! -a $local ]
	then
	echo "cp ./foo /bar /foo"
else 
	echo "datei vorhanden"
	fi
fi

if ( $del=$adddel );
then
	while [ -a /foo/bar ]
		do
		echo "rm /foo/barl"
		echo "config geloescht"
fi

if ( $add!=$adddel&$del!=$addel )
then
	echo "falsche eingabe abbruch"
fi



Hoffe ihr könnt mir helfen, denn ich bekomme immer wieder diese Fehlermeldungen

"../installremove: Zeile 13: =add: Kommando nicht gefunden.
./installremove: Zeile 29: Syntaxfehler beim unerwarteten Wort `fi'
./installremove: Zeile 29: `fi'"

Muss ich in Zeile 13 $adddel="add" schreiben das es direkt auf ein String überprüft??( $adddel="$add")...

DeletedUserReAsG

Re: Bash Script Anfänger sucht Hilfe!

Beitrag von DeletedUserReAsG » 05.01.2013 22:57:30

Grundlagen gibt es hier.

cu,
niemand

wanne
Moderator
Beiträge: 7591
Registriert: 24.05.2010 12:39:42

Re: Bash Script Anfänger sucht Hilfe!

Beitrag von wanne » 05.01.2013 23:18:27

Ich habe jetzt mal ein paar syntaktische fehler raus gemacht. Ob es tut was du willst weiß ich nicht.

Code: Alles auswählen

#! /bin/bash

local="/foo/bar"
add="add"
del="del"

echo "add or del"
read adddel

if [  "$addel" = "$add" ]
then
   if [ ! -a $local ]
   then echo "cp ./foo /bar /foo"
else 
   echo "datei vorhanden"
   fi
fi

if [ "$del" = "$adddel" ]
then
   while [ -a /foo/bar ]
      do
      echo "rm /foo/barl"
      echo "config geloescht"
    done
fi

if [ "$add" != "$adddel" -a "$del" != "$addel" ]
then
   echo "falsche eingabe abbruch"
fi
Ich empfehle dir das mal anzugucken: http://tldp.org/LDP/abs/html/comparison-ops.html
rot: Moderator wanne spricht, default: User wanne spricht.

Benutzeravatar
goeb
Beiträge: 348
Registriert: 26.08.2006 18:12:08
Lizenz eigener Beiträge: MIT Lizenz

Re: Bash Script Anfänger sucht Hilfe!

Beitrag von goeb » 06.01.2013 12:59:21

Es empfiehlt sich auch die Variablennamen möglichst lesbar zu wählen, wenn du statt adddel den Namen add_del verwenden würdest wären ein paar Fehler weniger im Skript. Um solche Fehler zu vermeiden kann man am Anfang des Skriptes auch noch set -o nounset ausführen, dann meckert die Bash bei nicht initialisierten Variablen.

Twista
Beiträge: 28
Registriert: 29.10.2006 13:24:35

Re: Bash Script Anfänger sucht Hilfe!

Beitrag von Twista » 07.01.2013 19:29:29

Vielen dank für die Antworten und Verbesserungen =) .

gruß

edit:

hat alles wunderbar funktioniert =)

Antworten