Guten Tag Ich habe eine Frage zu diesem Shellscript (gibt für jedes Systemkommando eine Kurzbeschreibung aus): for filename in /bin/* /usr/bin/* do cmd=$(basename $filename) apropos "$cmd" | grep "^$cmd" done Was bedeutet das "cmd"? -- MfG Luke --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hi, On Mon, Jun 12 2000 at 18:56 +0200, Luke wrote: ^^^^Lucky?
for filename in /bin/* /usr/bin/* do cmd=$(basename $filename) apropos "$cmd" | grep "^$cmd" done
Was bedeutet das "cmd"?
Es ist eine Variable, der das Ergebnis von `basename $filename' zugewiesen wird. Ciao, Stefan --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo Luke ohne Nachnamen, Luke wrote:
Ich habe eine Frage zu diesem Shellscript (gibt für jedes Systemkommando eine Kurzbeschreibung aus):
for filename in /bin/* /usr/bin/* do cmd=$(basename $filename) apropos "$cmd" | grep "^$cmd" done
Was bedeutet das "cmd"?
Ich uebersetze das ganze mal: for dateiname in /bin/* /usr/bin* do befehl=$(basename $dateiname) apropos "$befehl" | grep "^$befehl" done Das heisst: fuer alle "dateinamen" die in /bin und /usr/bin gefunden werden soll folgendes gemacht werden: - Setze die Variable "befehl" auf das Ergebnis (wg. "$()" ) von $(basename $dateiname). basename "entfernt" hierbei den Pfad, d.h. wenn in $dateiname z.B. "/usr/bin/mail" enthalten ist, dann macht basename daraus "mail". Diese "mail" wird also der Variablen "befehl" zugewiesen. - apropos "$befehl" sollte klar sein, das waere also "apropos mail". Da man aber nun nach einem "apropos mail" regelrecht zugemuellt wird, kommt die "Pipe", die die Ausgabe von apropos an grep weiter- gibt. Dieses gibt nun nur noch die Zeilen aus, bei denen "$befehl", also z.B. "mail" an einem Zeilenanfang steht, was durch das ^ erreicht wird. feddich mit die Schleife "fuer alle..." Um also deine konkrete Frage zu beantworten, "cmd" bedeutet garnix. Es ist einfach eine (temporaere) Variable um eine Zeichenkette zu speichern. Man haette genausogut (wie ich oben) "befehl" nehmen koennen, oder "foo" oder "bla" oder "sonstwas"... ;) Siehe dazu: man bash/info bash, man grep, man basename, man apropos. CU David -- Aber was ist JavaScript? Eine Sprache zum Ausspionieren fremder Daten und zum Nerven anderer Leute (etwa durch Pop-up-windows). (Boris Piwinger in de.comm.infosystems.www.browsers) email: David@dhaller.de www: www.dhaller.de --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo, David Haller wrote:
Hallo Luke ohne Nachnamen,
Warum? Ist doch der Nachname von 'Lucky Luke', oder nicht? cu flo -- Sind wir nicht alle ein bißchen Dieter, der eine mehr, der andere weniger? Gut, ich zugegebenermaßen weniger. [Thilo Machotta in dag°] --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Hallo Flo, Florian Gross wrote:
David Haller wrote:
Hallo Luke ohne Nachnamen, Warum? Ist doch der Nachname von 'Lucky Luke', oder nicht?
Na dann halt "ohne Vornamen" *lol* CU David -- "DOS=HIGH ...I knew it was on something!" (UNIX user, while reading C:\CONFIG.SYS) email: David@dhaller.de www: www.dhaller.de --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Am Mon, 12 Jun 2000 schrieb Florian Gross:
Hallo,
David Haller wrote:
Hallo Luke ohne Nachnamen,
Warum? Ist doch der Nachname von 'Lucky Luke', oder nicht?
timmt:-) -- MfG Luke --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
Am Mon, 12 Jun 2000 schrieb David Haller:
Hallo Luke ohne Nachnamen,
Luke wrote:
Ich habe eine Frage zu diesem Shellscript (gibt für jedes Systemkommando eine Kurzbeschreibung aus):
for filename in /bin/* /usr/bin/* do cmd=$(basename $filename) apropos "$cmd" | grep "^$cmd" done
Was bedeutet das "cmd"?
Ich uebersetze das ganze mal:
for dateiname in /bin/* /usr/bin* do befehl=$(basename $dateiname) apropos "$befehl" | grep "^$befehl" done
Das heisst:
fuer alle "dateinamen" die in /bin und /usr/bin gefunden werden soll folgendes gemacht werden: - Setze die Variable "befehl" auf das Ergebnis (wg. "$()" ) von $(basename $dateiname). basename "entfernt" hierbei den Pfad, d.h. wenn in $dateiname z.B. "/usr/bin/mail" enthalten ist, dann macht basename daraus "mail". Diese "mail" wird also der Variablen "befehl" zugewiesen. - apropos "$befehl" sollte klar sein, das waere also "apropos mail". Da man aber nun nach einem "apropos mail" regelrecht zugemuellt wird, kommt die "Pipe", die die Ausgabe von apropos an grep weiter- gibt. Dieses gibt nun nur noch die Zeilen aus, bei denen "$befehl", also z.B. "mail" an einem Zeilenanfang steht, was durch das ^ erreicht wird. feddich mit die Schleife "fuer alle..."
Um also deine konkrete Frage zu beantworten, "cmd" bedeutet garnix. Es ist einfach eine (temporaere) Variable um eine Zeichenkette zu speichern. Man haette genausogut (wie ich oben) "befehl" nehmen koennen, oder "foo" oder "bla" oder "sonstwas"... ;)
Siehe dazu: man bash/info bash, man grep, man basename, man apropos.
CU David OK, vielen Dank!
-- MfG Luke --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
* On Tue, Jun 13, 2000 at 12:07:33PM +0200, Luke wrote:
Am Mon, 12 Jun 2000 schrieb David Haller:
Hallo Luke ohne Nachnamen,
......mir mitlerweile soowas von Scheißegal!!
Aber das Mr. Luke hier 76 Zeilen quotet um darunter
"OK, vielen Dank" zu setzten..... :-/
weissalles@sprich:~ $ whatis luke
"<$vollquoter> in den eigenen Reihen"
Hätte da nicht auch ein Danke ohne Vollquoting ausgereicht?
On Mon, Jun 12, 2000 at 06:56:42 +0200, Luke wrote: ^^^^ voller Name wäre nett, ist hier so üblich. Danke.
for filename in /bin/* /usr/bin/* do cmd=$(basename $filename) apropos "$cmd" | grep "^$cmd" done
Was bedeutet das "cmd"?
man bash /Command Substitution cmd ist einfach eine Variable, die in der Zeile cmd=$(basename $filename) mit einem Dateinamen (ohne Pfad; siehe: man basename) belegt wird. Der gleiche Effekt wird durch: cmd=`basename $filename` erzielt. Jan --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (6)
-
c.wohld@ndh.net
-
David@dhaller.de
-
florian.gross@gmx.net
-
Jan.Trippler@t-online.de
-
stefan.troeger@wirtschaft.tu-chemnitz.de
-
xmail@gmx.li