Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Sonderzeichen bei ssh-Befehlsaufruf

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Netzwerk
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
sw-stefan



Anmeldungsdatum: 13.12.2005
Beiträge: 1

BeitragVerfasst am: 11. Feb 2008 15:44   Titel: Sonderzeichen bei ssh-Befehlsaufruf

ich versuche über ssh auf einem entfernten system einen befehl auszuführen. Leider ist in dem befehl ein "$" einhalten, den ich nicht wegmaskiert bekomme.

Code:
# ssh user@remote befehl_mit_argument_mit_$_drinne



hat jemand eine idee, bitte?
 
Benutzer-Profile anzeigen Private Nachricht senden

petameta
prolinux-forum-admin


Anmeldungsdatum: 14.02.2003
Beiträge: 1294

BeitragVerfasst am: 11. Feb 2008 15:50   Titel:

Das $ interpretiert bash so, daß eine Variable folgt. Um das zu vermeiden, setzte den Befehl in 2 Hochkommata:

Code:
ssh user@remote 'befehl_mit_argument_mit_$_drinne'
 
Benutzer-Profile anzeigen Private Nachricht senden

sw-stefan2
Gast





BeitragVerfasst am: 11. Feb 2008 16:21   Titel:

das hatte ich schon probiert, aber es scheint, dass ssh das $-Zeichen auch noch mal interpretiert. es geht auch nicht mit \$ oder mit Gänsefüßen.

gibt es noch eine andere möglichkeit?

ps. irgendwie kann ich mich nach einer änderung meiner mail-adresse im profil nciht mehr anmelden, da angeblich mein benutzername nicht stimmt. komisch!
 

petameta
prolinux-forum-admin


Anmeldungsdatum: 14.02.2003
Beiträge: 1294

BeitragVerfasst am: 11. Feb 2008 20:33   Titel:

Also bei mir geht's:

Zum Test habe ich auf dem Remote-Rechner eine Datei erstellt, /tmp/test$x, der Inhalt ist "OK" als Text.

Lokal habe ich folgendes ausgeführt:

Code:
ssh root@192.168.0.29 'cat /tmp/test$x'


Als Ausgabe bekomme ich "OK", also den Inhalt der Datei auf dem Remote-Rechner. Lasse ich die Hochkommata weg, bekomme ich eine entsprechende Fehlermeldung, daß die Datei /tmp/test nicht gefunden wurde.
 
Benutzer-Profile anzeigen Private Nachricht senden

sw-stefan3
Gast





BeitragVerfasst am: 12. Feb 2008 10:10   Titel:

hm. bei mir nicht. weder unter ubuntu 7.04, ssh-version: 4.3p2-8ubuntu1
noch unter centos 5.1, ssh version: openssh-4.3p2-24.el5

bei beiden bekomme ich mit
Code:
ssh localhost 'ls -l /tmp/test$x'


nur ein
Code:
ls: /tmp/test: Datei oder Verzeichnis nicht gefunden


muss ich ev. beim sshd was umstellen?
 

hjb
Pro-Linux


Anmeldungsdatum: 15.08.1999
Beiträge: 3236
Wohnort: Bruchsal

BeitragVerfasst am: 12. Feb 2008 11:51   Titel:

Hi!

Richtig erkannt, dass das $ von zwei Shells interpretiert wird. Die Lösung ist, vor das $ noch ein \ zu setzen, dann sieht die zweite Shell \$, was sie als $ interpretiert:

Code:
ssh localhost 'ls -l /tmp/test\$x'

Grüße,
hjb
_________________
Pro-Linux - warum durch Fenster steigen, wenn es eine Tür gibt?
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen MSN Messenger

sw-stefan4
Gast





BeitragVerfasst am: 12. Feb 2008 14:03   Titel:

klappt. vielen dank. hatte ja ne menge probiert, aber diesen fall nicht.
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Netzwerk Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy