On Mon, 07 Apr 2003 at 11:30 (+0200), Christian Knoke wrote:
Das kann man nur umgehen, wenn man vorher prüft, ob es passende
Dateinamen gibt - etwa so:
f=*
test "$f" = "*" || m="*"
f=.[^.]
test "$f" = ".[^.]" || m="$m .[^.]"
f=.??*
test "$f" = "..??*" || m="$m .??*"
tar czf xxx.tar.gz $m
Genauso kann man natürlich gleich eine Dateiliste aufbauen:
tar czf xxx.tar.gz `ls -ad * .??* .[^.] 2>/dev/null`
Jetzt wird der Fehler schon im ls wirksam und dem tar wird eine
gültige Dateiliste übergeben. Das geht aber nur dann, wenn im zu
sichernden Baum keine Dateinamen mit Leerzeichen auftauchen.