![](https://seccdn.libravatar.org/avatar/aa18b334c5dc6007d4a3c18c6c2dba3e.jpg?s=120&d=mm&r=g)
Hi Christian, christian zimmermann schrieb:
Hallo liste,
ich möchte wie ssh auf einer anderen maschine einen ls befehl absetzten, nur irgendwie macht die shell die dateinams expansion nicht so wie ich will.
$ssh root@remote_host.tld ls /backup/*.`date +%Y%m%d*`
raus kommt dann
ls: /backup/*.20040720*: No such file or directory
wieso werden die "*" nicht expandiert?
Weil nicht ls sondern die Bash die Expansion durchführt. So funktioniert's bei mir z.B.: sven@sven:~> ssh sven@andererrechner bash -lc \"ls opera*\" opera-6.12-20030305.1-static-qt.i386.rpm opera-7.1.0-20030410.4-shared-qt.i386.rpm Anm.: bash -l: Login-Shell, d.h. die Umgebungsvariablen werden korrekt gesetzt. Weiß aber nicht, ob das hier von Bedeutung ist. Bei ssh rechner bash -lc kmail ist es das. Nur "ssh rechner kmail" funktioniert bei mir nicht. Das mit dem Escapen von den "" habe ich durch probieren herausgefunden. Ohne geht's nicht!? Das * wird nun im Kontext der Remote-Bash expandiert, von daher funktioniert das.
Danke
Bitte, Sven