Hi Wenn ich in der Bash folgendes eingebe: ls /dev | wc -l erhalte ich ca. 1700 Treffer mache ich das ganze in einer Batch-Datei: #!/bin/bash echo 'ls /dev | wc -l' erhalte ich weniger als 300 Treffer ???? Stefan
* Kunkel, Stefan GFIDOR <kunkel@dortmund.gfi.ihk.de> schrieb am 27.Jul.1999:
Wenn ich in der Bash folgendes eingebe: ls /dev | wc -l erhalte ich ca. 1700 Treffer
Ha, ich erhalte 1822 Treffer. Ich habe gewonnen. ;-))))
mache ich das ganze in einer Batch-Datei:
Was ist eine Batch-Datei?
#!/bin/bash echo 'ls /dev | wc -l' erhalte ich weniger als 300 Treffer ????
So wie es da steht erhälst Du die Ausgabe ls /dev | wc -l und keine Zahlen! Was also steht da genau. Wenn Du nur ` anstelle ' schreibst, erhältst Du genau das gleiche. Bei mir wären es 1822. Wie sieht Dein Shellskript genau aus? Wenn ls nicht auf einem Bildschirm schreibt, so gibt es pro Zeile auch nur eine Datei aus. Das kann man aber mit der Option -C ändern. Hast Du da irgendwo ein -C mit eingeschmuggelt? Dann wird nämlich so ausgegeben wie üblicherweise auf dem Bildschirm. Mehrere Dateien in eine Zeile. Bei mir sind ei 304 Zeilen. Bernd
On Tue, Jul 27, 1999 Kunkel, Stefan GFIDOR wrote:
Hi hi!
Wenn ich in der Bash folgendes eingebe: ls /dev | wc -l erhalte ich ca. 1700 Treffer K
mache ich das ganze in einer Batch-Datei: #!/bin/bash echo 'ls /dev | wc -l' moment, da steht >echo '...'< dieses script wird dir nur den string "ls /dev..." ausgegeben und sonsts nichts! du möchtest doch nur die ausgaben von deinem ls haben, stdout ist das terminal, der bildschirm. schreib also nur, deinen ls-befehl in das script, anstatt echo.... dann sollte es tun.
erhalte ich weniger als 300 Treffer ???? keine ahnung, wieso.
cu, moritz -- ##### Moritz Schulte - <moritz@hp9001.fh-bielefeld.de> ##### ##### Registered LINUX-User #13308 ##### ##### PGP-Key available, encrypted Mail is welcome ##### ##### Home: http://hp9001.fh-bielefeld.de/~moritz/ #####
"Kunkel, Stefan GFIDOR" wrote:
Hi Wenn ich in der Bash folgendes eingebe: ls /dev | wc -l erhalte ich ca. 1700 Treffer
mache ich das ganze in einer Batch-Datei: #!/bin/bash echo 'ls /dev | wc -l' erhalte ich weniger als 300 Treffer ????
Hi Stefan, in Deine echo-Zeile müssen Backticks (`) hin. Die Shell ersetzt dann alles innerhalb der Backticks durch die entsprechende Kommanoausgabe. Und bei mir klapperts: <carsten>/home/carsten: ls /dev | wc -l 1843 <carsten>/home/carsten: versuch1 (Inhalt wie oben _mit Backticks_) 1843 <carsten>/home/carsten: ls /dev > versuch2 <carsten>/home/carsten: vi versuch2 "versuch2" 1843 lines, 11088 characters 1,1 Gruß Carsten -- "Etwas nicht tun zu können, ist kein Grund, es nicht zu tun." Gordon "Alf" Shummway Registered Linux User: 106265
"Kunkel, Stefan GFIDOR" wrote:
Hi Wenn ich in der Bash folgendes eingebe: ls /dev | wc -l erhalte ich ca. 1700 Treffer
mache ich das ganze in einer Batch-Datei: #!/bin/bash echo 'ls /dev | wc -l' erhalte ich weniger als 300 Treffer ????
Das von Dir beschriebene Script ("Batch" gibts bei UNIX nicht) liefert bei mir exakt die richtigen Werte. Hast Du uns etwas vorenthalten ? Fragen hebi -- Dirk Hebenstreit Tel : +49-0177-2461522 HEBI D. Hebenstreit Buero-Informationstechnik +49-033200-85997 Eschenweg 3 FAX : +49-033200-85999 14558 Bergholz-Rehbruecke e-Mail : dhebenstreit@rios.de
On 27 Jul, Kunkel, Stefan GFIDOR wrote:
Hi Wenn ich in der Bash folgendes eingebe: ls /dev | wc -l erhalte ich ca. 1700 Treffer
mache ich das ganze in einer Batch-Datei: #!/bin/bash echo 'ls /dev | wc -l' erhalte ich weniger als 300 Treffer ????
Du willst die Anzahl der Devices haben? Dann probier doch mal ls -l /dev | wc -l FYI: Deine Unterschiede liegen an echo. Mach mal: ls /dev und dann: echo `ls /dev` Du siehst es dann selber. Grüße, Martin Ritter
participants (6)
-
B.Brodesser@online-club.de
-
ca.becker@gmx.de
-
dhebenstreit@rios.de
-
kunkel@dortmund.gfi.ihk.de
-
moritz@hp9001.fh-bielefeld.de
-
mritter@antivir.de