bash / dd mit seltsamem I/O-Redirect-Problem

01/04/2014 - 11:55 von Ansgar Strickerschmidt | Report spam
Hallo NG,

habe hier eine Bash auf einem Embedded-Kistchen (ARM-Architektur).

Ich möchte mit "dd" bestimmte Daten kopieren, und dabei die
Fehlermeldungen und die Ausgaben komplett unterdrücken (weil sie meine
Auswertung stören).

Also flugs ein

dd if=irgendwoher of=irgendwohin bsQ2 count0 status=none >/dev/null
2&>1

eingeworfen - blöd nur, dass diese Bash oder dieses dd die gewünschte
Umleitung von STDERR mit "2&>1" missinterpretiert; es meint, "2" wàre eine
normale Datei und "1" auch. Es schreibt also sowas wie
dd: '2': File does not exist
in eine Datei namens "1" im aktuellen Verzeichnis...

Wenn man statt
... >/dev/null ...
dagegen
... >>/dev/null ...
benutzt, dann geht's.

Kennt jemand hier sowas?

Ansgar

PS: Und außerdem ist es scheinbar auch nicht egal, ob man "2&>1" oder
"2>&1" schreibt, obwohl das àquivalent sein sollte...

*** Musik! ***
 

Lesen sie die antworten

#1 Jochen Lübbers
01/04/2014 - 12:11 | Warnen spam
Ansgar Strickerschmidt schrieb:
Hallo NG,


Hallo Ansgar,

[...]

PS: Und außerdem ist es scheinbar auch nicht egal, ob man "2&>1" oder
"2>&1" schreibt, obwohl das àquivalent sein sollte...



Meines bescheiden Wissens nach, ist das ganz und gar nicht egal, und
erst recht nicht bei jeder Shell. "2>&1" ist IMHO die richtige Version,
und das auch nur für bash & ksh & sh(?). Wie sich Shells der
C-Shell-Familie verhalten, habe ich verdràngt, ich gehe allerdings davon
aus, dass Du auf der Kiste auch eine /bin/sh oder /bin/bash nutzt.

HTH
Jochen
"Wer die Freiheit aufgibt, um Sicherheit zu gewinnen,
der wird am Ende beides verlieren"

Ähnliche fragen