Auf den Beitrag: (ID: 42384) sind "5" Antworten eingegangen (Gelesen: 894 Mal).
"Autor"

in den trash mit der bash...

Nutzer: prof.mastram
Status: Profiuser
Post schicken
Registriert seit: 21.04.2001
Anzahl Nachrichten: 1788

geschrieben am: 20.06.2006    um 15:52 Uhr   
Hallo Leute,

hab in letzter Zeit wieder einmal ein wenig mit der bash gearbeitet und dabei festgestellt, dass trotz vieler features das ding nicht vollkommen ist... *grummel*
ich wollte mir etliche Dateien auflisten lassen, aber anscheinend ist eine seitenweise Anzeige der Bildschirmausgabe, wie unter Windows, nicht möglich...
hab in meinem kleinen Handbuch von Rainer Krienke "Unix Shell-Programmierung" (erschienen im Hanser-Verlag) nachgeschaut, wo ja die bash ausführlich beschrieben ist, aber keine verwertbaren Hinweise gefunden.
unter Windows zum Bsp. kann man entweder " befehl |more" oder "befehl /p" für eine seitenweise Anzeige der Bildschirmausgabe eingeben...
Wieso geht das nicht mit der bash?
Ich will ja nicht in der befehls-history rumblättern, da weiss ich wie das geht...
Muss ich für diese Aktion etwa ein gesondertes Shell-Skript ausführen oder hat man einfach und schlicht diesen Faktor bei der Entwicklung der bash übersehen?
Hab in einschlägigen Linux-Foren schon gegoogelt, aber selbst da wird nur auf die befehls-history eingegangen...

Wäre für hilfreiche Tipps dazu dankbar... :-)

the *prof*
  Top
"Autor"  
Nutzer: styx_23
Status: Profiuser
Post schicken
Registriert seit: 28.08.2003
Anzahl Nachrichten: 70

geschrieben am: 27.06.2006    um 07:55 Uhr   
Hi prof,

also an und für sich ist das "Ding" ziemlich vollkommen, sofern man denn ein wenig Zeit und Geduld aufbringt mag um das "Ding" zu erlernen und über den Tellerrand der bunten Klickwelt blicken mag. :-)
Zu deinem "Problem": Also |more sollte es durchaus geben. Ich weiß allerdings nicht, ob sich das zwischen Linux Distributionen wieder unterscheidet. Ich kann im Moment nur auf SuSE 9.3 und 10.0 zurückgreifen und da tut es.
Du hast sicher schonmal ls -la /* |more probiert? Wenn das nicht funktioniert, schau mal ob du überhaupt im Besitz von /bin/more bist. Wenn ja, prüfe ob /bin in deiner $PATH Variablen steht. Wenn nicht, dann besorg es dir! :o)

Ansonsten kann ich nur auf folgende Links verweisen:

Link
Link

Da findest erstmal die grundlegenden Befehle und siehe da, auch more! :o)

Grüße, styx.
  Top
"Autor"  
Nutzer: prof.mastram
Status: Profiuser
Post schicken
Registriert seit: 21.04.2001
Anzahl Nachrichten: 1788

geschrieben am: 30.06.2006    um 00:26 Uhr   
Hallo styx_23,

danke erstmal für deine guten Tipps, jedoch läuft diese bash nicht unter Linux sondern unter Windoofs über einen cross-compiler (cygwin-B20). Ein /bin-Ordner ist da wohl mehr als einmal vorhanden, aber einen /more-Ordner hab ich dort nicht gefunden...
hmm... mal sehen, ich guck mir mal deine links an... vielleicht find ich da was brauchbares...

bis denne...

c ya next,

the *prof*
  Top
"Autor"  
Nutzer: styx_23
Status: Profiuser
Post schicken
Registriert seit: 28.08.2003
Anzahl Nachrichten: 70

geschrieben am: 30.06.2006    um 08:35 Uhr   
Hm, dann sag das doch gleich!? :o)
Nur mal zum Verständnis: Das mit dem cross compiler bedeutet für dich nicht, dass du die Sourcen der bash selbst compiliert hast oder? Du hast dir das cygwin Setup runtergeladen und ne handvoll Packete installiert, oder versteh ich da was falsch? Wenn dem nicht so ist kannst du hier aufhören zu lesen und ich kann dir net helfen. *g*

Ansonsten...warum die Beta von cygwin? Keine Ahnung was die hat, kann, nicht kann. Die letzte stabile Version tut jedenfalls, auch mit |more und allem drum und dran. Da ist dann die erwähnte Datei (/bin/more ist, mangels Dateierweiterungen unter Linux, eine ausführbare Datei) unter /usr/bin/more zu finden. Wenn dies nicht der Fall ist könntest du noch versuchen, über dasselbe Setup das du für die erste Installation verwendet hast, Packete nachzuinstallieren. Irgendwo sollte "more" schon drin sein, aber frag nicht wo genau.
Wenn das erstmal geschafft ist sollte die bash von cygwin wie jede andere bash funktionieren.

Grüßle, styx.
  Top
"Autor"  
Nutzer: prof.mastram
Status: Profiuser
Post schicken
Registriert seit: 21.04.2001
Anzahl Nachrichten: 1788

geschrieben am: 30.06.2006    um 15:06 Uhr   
@styx_23,

yep, sowas in der Richtung kam mir auch in den Sinn... hatte heute nur noch keine Zeit mir deine links genauer anzugucken...bin auch noch zum Grillen eingeladen nachher...
Ich hab mal nen screenshot gemacht von dieser bash, wo die ganzen verfügbaren commandos angezeigt werden...
wenn das ding sowieso auf unix-basis funktioniert, dann müsste ne .exe für das "|more" von Suse oder wasauchimmer auch damit funktionieren, müsste ich nur in den richtigen Ordner nachher abspeichern... aber obs tatsächlich so funktionieren wird weiss keiner..*gg ;-)

screenshot_bash





P.S. Apropos cross-compiler... alle Dateien, die für den compiler nötig sind, damit er arbeiten kann, arbeiten in einer UNIX-Umgebung, die mittels diverser C-Skripte auch unter Windows lauf-fähig sind. Da brauch ich Gott sei Dank nix selber basteln...*gg.
Ich bin nur grad dabei für jemanden einen Linux-Treiber zu bauen und habe dafür auch alle erforderlichen Header-Dateien, die von diesem Linux-Rechner stammen. Da die Compiler-Umgebung auch Unix ist, treten bei der Kompilierung keine Probleme auf, weil Windows gänzlich davon unberührt bleibt. Das Problem war nur, weil ich beim debuggen ne Bildschirmausgabe hatte, die über die Größe der Fensterausgabe der bash hinausging. Deshalb fragte ich nach einer Möglichkeit, ob das bei dieser speziellen bash überhaupt möglich ist, dass man seitenweise nach oben/unten scrollen kann, wie unter Windows...
na denn... vielleicht bringen die links mich auf ne Idee... :-)

schönes WE noch...

c ya next,

*prof*
  TopZuletzt geändert am: 30.06.2006 um 15:16 Uhr von prof.mastram
"Autor"  
Nutzer: prof.mastram
Status: Profiuser
Post schicken
Registriert seit: 21.04.2001
Anzahl Nachrichten: 1788

geschrieben am: 30.06.2006    um 16:55 Uhr   
@styx_23,
habs rausgefunden, was da los ist mit dieser bash... is ne abgespeckte version ohne ncurses, wie sie zum Bsp. unter den verschiedenen Linux-Distributionen genutzt werden...
anstatt die "more.exe" hat diese bash die "less.exe", was ungefähr fast denselben Effekt hat.
Bin dafür bis zur Link gesurft und hab mir die mails im bugreport angeguckt, um das rauszukriegen...*gg "less is more than more" hiess das entscheidende Stichwort in einer der vielen mails dazu...
Wenn man die "less.exe" aufruft, dann werden alle Dateien seitenweise angezeigt, ähnlich wie bei Windows mit der Option: "Befehl /P" Mit den PageUp/PageDown-Tasten kann man denn hoch und runter scrollen, mit der "q"-Taste verlässt man den less-Befehl und man ist wieder in der bash... soweit so gut... hatte schlimmeres erwartet... ;-)
Ich hätte mir auch die ncurses für den cross-compiler installieren können, doch wenn es mit diesem "less"-Befehl geht, dann spar ich mir lieber diese Arbeit... /fg

trotzdem danke für deine Tipps...

bis demnächst :-)

the *prof*
  TopZuletzt geändert am: 30.06.2006 um 17:03 Uhr von prof.mastram