Hypercell ein ] Hypercell aus ] Zeige Navigation ] Verstecke Navigation ]
c++.de  
   
Forentreff 2012     
Bücher-Shop mit Amazon (Buchkategorien)C++ : Referenzen zu C++ : C++ Builder : Visual C++ : C# : Java : Spieleprogrammierung : Systemprogrammierung Linux : Software-Entwicklung : .NET : Compilertechnik : Algorithmen & Datenstrukturen : Objektorientierung : Entwurfsmuster : UML : eXtreme Programming : Scrum : Projektmanagement : Software-Testing : Datenbanken : Tom DeMarco : Dilbert : User Friendly
C/C++ Forum :: Linux/Unix ::  script schreiben     Zeige alle Beiträge auf einer Seite Auf Beitrag antworten
Autor Nachricht
blurry333
Mitglied

Benutzerprofil
Anmeldungsdatum: 23.01.2010
Beiträge: 591
Beitrag blurry333 Mitglied 01:20:49 16.01.2012   Titel:   script schreiben            Zitieren

Hallo,

#!/bin/bash

ssh root@192.168.10.17
echo 'Hallo'

Das ist mein script. Ich verbinde mich mit ssh auf meinen Rooter. Was ich nicht versthe warum er das echo 'Hallo' nicht auf dem Rooter ausfuehrt sondern erst wenn ich die Verbindung mit exit beende.
volkard
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2000
Beiträge: 24356
Beitrag volkard Moderator 01:35:59 16.01.2012   Titel:   Re: script schreiben            Zitieren

Vielleicht wirste sowas mögen:
Code:
ssh 127.0.0.1 <<EOT
echo hallo
ls
EOT
Code:
ssh 127.0.0.1 <<EOT
echo hallo
ls
EOT
Code:
ssh 127.0.0.1 <<EOT
echo hallo
ls
EOT

_________________
http://www.venganza.info/
plonk fürs Forum v1.02
blurry333
Mitglied

Benutzerprofil
Anmeldungsdatum: 23.01.2010
Beiträge: 591
Beitrag blurry333 Mitglied 02:22:00 16.01.2012   Titel:              Zitieren

Versteh ich jetzt nicht.
Ich weiss echt nicht wie ich auf dem router "Hallo" ausgeben kann nachdem ich die Verbindung mit ssh aufgebaut habe. Irgendwie schluckt der das nicht.
rüdiger
Moderator

Benutzerprofil
Anmeldungsdatum: 11.07.2001
Beiträge: 22820
Beitrag rüdiger Moderator 02:25:45 16.01.2012   Titel:              Zitieren

Befehle die du auf dem Server ausführen willst, nimmt ssh als Parameter. Siehe Dokumentation von ssh.
blurry333
Mitglied

Benutzerprofil
Anmeldungsdatum: 23.01.2010
Beiträge: 591
Beitrag blurry333 Mitglied 02:29:59 16.01.2012   Titel:              Zitieren

Und weiss jemand warum das if vor der eckigen Klammer und nach der eckigen Klammer ein Leerzeichen braucht ?

Code:
if [ $1 == $2 ]
Code:
if [ $1 == $2 ]
Code:
if [ $1 == $2 ]
volkard
Moderator

Benutzerprofil
Anmeldungsdatum: 06.04.2000
Beiträge: 24356
Beitrag volkard Moderator 02:31:05 16.01.2012   Titel:              Zitieren

blurry333 schrieb:
Versteh ich jetzt nicht.
Ich weiss echt nicht wie ich auf dem router "Hallo" ausgeben kann nachdem ich die Verbindung mit ssh aufgebaut habe. Irgendwie schluckt der das nicht.

Die Ausgabe wird zurückgeleitet an Dich.
Deswegen ja auch ls als Beispiel. Das sollte anzeigen, welche Dateien dort liegen.

_________________
http://www.venganza.info/
plonk fürs Forum v1.02
foobarr
Unregistrierter




Beitrag foobarr Unregistrierter 09:48:02 16.01.2012   Titel:              Zitieren

blurry333 schrieb:
Und weiss jemand warum das if vor der eckigen Klammer und nach der eckigen Klammer ein Leerzeichen braucht ?

Code:
if [ $1 == $2 ]
Code:
if [ $1 == $2 ]
Code:
if [ $1 == $2 ]
Ja, ich weiss es. Ist das wichtig?
Christoph
Moderator

Benutzerprofil
Anmeldungsdatum: 30.04.2001
Beiträge: 5711
Beitrag Christoph Moderator 10:03:42 16.01.2012   Titel:              Zitieren

blurry333 schrieb:
Und weiss jemand warum das if vor der eckigen Klammer und nach der eckigen Klammer ein Leerzeichen braucht ?

Code:
if [ $1 == $2 ]
Code:
if [ $1 == $2 ]
Code:
if [ $1 == $2 ]
Nimm lieber [[ ]] statt [ ]. Die Syntax ist im Prinzip dieselbe, aber man macht weniger Fehler. Es heißt übrigens = und nicht ==, das ist nicht C++.

[ $1 = $2 ] gibt nämlich eine Fehlermeldung, wenn $1 leer ist.
[[ $1 = $2 ]] dagegen funktioniert immer wie erwartet.

_________________
Wenn Word für Längeres geeignet wäre, würde es nicht Word, sondern Sentence, Page oder Article heißen.
seldon
Unregistrierter




Beitrag seldon Unregistrierter 15:25:18 16.01.2012   Titel:              Zitieren

[ ist ein Programm, üblicherweise /usr/bin/[ und ein Alias für /usr/bin/test.
Code:
if [ foo = bar ]; then
fi
Code:
if [ foo = bar ]; then
fi
Code:
if [ foo = bar ]; then
fi

ist das selbe wie
Code:
if test foo = bar; then
fi
Code:
if test foo = bar; then
fi
Code:
if test foo = bar; then
fi

if in der POSIX-Shell prüft den Rückgabewert dessen, was ihm als Parameter übergeben wurde (0 bedeutet wahr, alles andere falsch) und handelt dementsprechend. Man kann da locker auch andere Programme einsetzen, wenn man ihr Rückgabewertverhalten kennt; beispielsweise
Code:
if grep foo bar.txt > /dev/null; then
  echo bar.txt enthält den String \"foo\".
fi
Code:
if grep foo bar.txt > /dev/null; then
echo bar.txt enthält den String \"foo\".
fi
Code:
if grep foo bar.txt > /dev/null; then
  echo bar.txt enthält den String \"foo\".
fi
foobarr
Unregistrierter




Beitrag foobarr Unregistrierter 16:50:16 16.01.2012   Titel:              Zitieren

seldon schrieb:

Code:
if grep foo bar.txt > /dev/null; then
  echo bar.txt enthält den String \"foo\".
fi
Code:
if grep foo bar.txt > /dev/null; then
echo bar.txt enthält den String \"foo\".
fi
Code:
if grep foo bar.txt > /dev/null; then
  echo bar.txt enthält den String \"foo\".
fi
Oder aber:
Code:
if grep -q foo bar.txt ; then
  echo bar.txt enthält den String \"foo\".
fi
Code:
if grep -q foo bar.txt ; then
echo bar.txt enthält den String \"foo\".
fi
Code:
if grep -q foo bar.txt ; then
  echo bar.txt enthält den String \"foo\".
fi

Warum sollte grep Ausgaben erzeugen, die nach /dev/null wandern. -q sagt grep, er soll erst gar nichts ausgeben. ;) :cool: :o)
seldon
Unregistrierter




Beitrag seldon Unregistrierter 17:11:42 16.01.2012   Titel:              Zitieren

Weil das ursprüngliche grep aus UNIX V7 die -q-Option nicht beherrscht. :p

Aber Spaß beiseite, wenn man sich auf POSIX stützen kann, was meistens der Fall sein dürfte, ist -q natürlich hübscher. Ich hab das bloß nicht auswendig gewusst.
C/C++ Forum :: Linux/Unix ::  script schreiben   Auf Beitrag antworten

Zeige alle Beiträge auf einer Seite




Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Sie können Beiträge in dieses Forum schreiben.
Sie können auf Beiträge in diesem Forum antworten.
Sie können Ihre Beiträge in diesem Forum nicht bearbeiten.
Sie können Ihre Beiträge in diesem Forum nicht löschen.
Sie können an Umfragen in diesem Forum nicht mitmachen.

Powered by phpBB © 2001, 2002 phpBB Group :: FI Theme

c++.de ist Teilnehmer des Partnerprogramms von Amazon Europe S.à.r.l. und Partner des Werbeprogramms, das zur Bereitstellung eines Mediums für Websites konzipiert wurde, mittels dessen durch die Platzierung von Werbeanzeigen und Links zu amazon.de Werbekostenerstattung verdient werden kann.

Die Vervielfältigung der auf den Seiten www.c-plusplus.de, www.c-plusplus.info, www.c-sar.de, www.c-plusplus.net und www.baeckmann.de enthaltenen Informationen ohne eine schriftliche Genehmigung des Seitenbetreibers ist untersagt (vgl. §4 Urheberrechtsgesetz). Die Nutzung und Änderung der vorgestellten Strukturen und Verfahren in privaten und kommerziellen Softwareanwendungen ist ausdrücklich erlaubt, soweit keine Rechte Dritter verletzt werden. Der Seitenbetreiber übernimmt keine Gewähr für die Funktion einzelner Beiträge oder Programmfragmente, insbesondere übernimmt er keine Haftung für eventuelle aus dem Gebrauch entstehenden Folgeschäden.