PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : backslash in `



msi
27-09-2003, 17:48
hallo
ich habe das problem, dass ich einen backslash durch ein programm ausgeben muss:

echo \\ # funktioniert, es wird ein \ ausgegeben
jedoch
echo `echo \\` # funktioniert nicht, es kommt nur ein fehler

wer weiß ich das richtig geht. also einen \ ausgeben??
der grund wieso ich das brauche, ist weil ich meinem mp3player sagen will welche dateien er alles öffnen soll, er kann keine recursion, soweit bin ich:

/usr/bin/ksmp3play -r `/usr/bin/find /share/data/mp3/n -type d | perl -e '$a = ""; while (<STDIN>) { chomp; s/ /\\ /g; $a.=$_."/* "; } print $a;'`
das rot markierte will eben nicht so richtig.

fork
27-09-2003, 18:51
Ordnung kann auch helfen...
Ich habe eigentlich nichts gemacht ausser die Backticks durch $( ... ) ersetzt.

#!/bin/bash

FILES=$( find /share/data/mp3/n -type d \
| perl -e '
$a = "";
while (<STDIN> )
{
chomp;
s/ /\\ /g; $a.=$_."/* ";
}
print $a;'
)

/usr/bin/ksmp3play $FILES