Hallo, On Tue, 20 May 2003, Christian Boltz wrote:
Am Sonntag, 18. Mai 2003 22:39 schrieb David Haller:
On Sun, 18 May 2003, Christian Boltz wrote:
Am Samstag, 17. Mai 2003 04:04 schrieb David Haller: [...]
Schade finde ich es nur, wenn man wie z.B. bei rpm die langen Optionen nicht abkuerzen kann...
Kann man doch teilweise ;-) --file -> -f --query -> -q
Das sind aber keine abgekuerzten langen, sondern die entsprechenden kurzen Optionen! Du kannst aber z.B. nicht --fi schreiben wie z.B. bei 'wget --don' statt 'wget --dont-remove-listing'. 'wget -nr' ist dabei _nicht_ die Abkuerzung der Option, sondern die passende kurze.
Sorry, da hab ich Dich wohl flahcs verstanden ;-)
Ja ;(
Diese Abkuerzen von langen Optionen sobald eindeutig ist eben AFAIK ein GNU getopt feature, das von rpm offenbar nicht verwendet wird, denn z.B. ein 'rpm --queryforma' geht schon nicht.
Stimmt. Das Abkürzen geht übrigens bei Perlscripten mit Getopt::Long auch ;-)
Schoen :)
Bei RPM aber lassen sie sich aber immerhin gut merken: 'rpm --query --queryformat "%{name}\n" --file /usr/bin/sed' z.B. ;)
Gekürzt wäre Deine Suchanfrage also rpm -qf /usr/bin/sed --queryformat "%{name}\n"
rpm -q --queryformat "%{name}\n" -f /usr/bin/sed
Schön "verdreht". Naja, auch gut ;-)
Logisch, wuerde ich sagen. Du verwendest den "Query-Mode" (-q). Die Ausgabe wird bestimmt/modifiziert durch "--queryformat=". Das/die Argumente fuer die Abfrage werden durch -f bestimmt. Das ist also analog zu: SELECT name FROM RPMBD WHERE file LIKE /usr/bin/sed Deine Abfrage waere jedoch: FROM RPMBD WHERE file LIKE /usr/bin/sed SELECT name Oder so aehnlich... Jedenfalls, mir verdreht's bei deiner Anfrage das Hirn ;) Bist du Pole?
(vielleicht sogar besser, da man ja mehrere Dateien angeben kann/darf)
Ja: $ rpm -q --queryformat "%{name}\n" -f /usr/bin/sed /bin/bash base bash
Und, eben, --queryformat laesst sich nicht abkuerzen...
Stimmt.
Eben.
[nochmal zu --long-options]
Und fluchend wuerde ich mir noch mehr wrapper-scripte schreiben ;)
*LoL*
Ja, rpmqf ist leider nur teil-funktional ;(
Tja, das ist immer der Nachteil von Wrappern ;-)
Naja, einfache Anfragen klappen zumindest: $ rpmqf installtime:date bc Mon 16 Aug 1999 07:19:26 PM CEST Dazu, auch die "Querytags" abzukuerzen bin ich aber noch nicht gekommen, und auch der Rest des scripts muss ueberarbeitet werden, die -f Option statt nem Paketname geht z.B. nicht ;( ARGL! Mein script war auch schon besser, das hab ich gestern verwurstet ;( Bisher ging auch: $ rpmqf --fmt "%s-%s %s" name version installtime:date bc bc-1.04 Mon 16 Aug 1999 07:19:26 PM CEST Das muss ich nochmal ueberarbeiten...
Was ist denn? Ich tippe --long-options in etwa so schnell wie kurze,
Ich nicht. Ein 'ls -lart' tippe ich schneller als ein 'ls --format=long --all --reverse --sort=time'.
Die wichtigsten ls-Optionen hat man wohl auch im Kopf, da kann man natürlich auch die kurzen Optionen nehmen.
Ja. Die langen hab ich nachschauen muessen ;) Wenn es aber keine kurze Option gibt und man die lange nichtmal abkuerzen kann (wie z.B. --queryformat bei rpm), das kann schon nerven...
Ich bastle mir zwischendurch immer wieder ein paar complete-Einträge mehr, dann kann ich irgendwann "F1" auf meine Tab-Taste schreiben ;-)
*Isch 'abe aber kein complete!*
außerdem bekommt die Bash dadurch eine eingebaute Hilfefunktion ;-) Zum Beispiel: [option-completion] Das gibbet bei mir nicht.
$ bash --version GNU bash, version 2.03.0(1)-release (i386-suse-linux) Copyright 1998 Free Software Foundation, Inc.
Uii, ist die alt (auch wenn sich die Versionsnummer nichtmal sonderlich unterscheidet).
Ja.
Da hast Du bestimmt auch noch die alte ~/.bashrc, oder?
Ich? Ne default-bashrc??? Noe. Die ist handgehaekelt ;) $ ls -l .bashrc -rw------- 1 dh dh 3490 Mar 23 12:30 .bashrc
cb@tux:~> grep -i fontlinge ~/.bashrc # Fontlinge complete-Einträge source ~/fontlinge/cvs/current/fontlinge_rc/misc/fontlinge_complete
;-)
Meine bash hat kein "option-complete"-feature!
BTW, auch wenn es in diesem Fall keine Rolle spielt: cb@tux:~> bash --version GNU bash, version 2.05b.0(1)-release (i586-suse-linux) Copyright (C) 2002 Free Software Foundation, Inc.
Das feature ist IIRC sogar noch bei der bash 2.05 noch per patch eingebaut!
Ach so: man bash /complete *\[-abcd
$ man -Pcat bash | grep 'complete *\[-abcd'
Mit diesem Befehl findet sich (komischerweise?) auch nix bei mir, mit man bashbuiltins und danach (also in less bzw. $PAGER) /complete *\[-abcd eingeben findet das Gewünschte.
Vielleicht hast Du "complete" auch nicht in dieser Form in der manpage? Dann such eben einfach mal nach "complete", den Rest hab ich nur zwecks schnellerem Sucherfolg angehängt ;-)
Wie oft denn noch? Da gibt's kein "complete"! $ f<tab><tab> Display all 151 possibilities? (y or n) $ ls f<tab><tab> [36 Dateinamen] $ ls --<tab><tab> [nix]
-- GETOPT(3) BUGS This manpage is confusing.
Welche Version? Bei mir (inzwischen SuSE 8.2) steht das nämlich nicht (mehr) ;-)
$ rpm -qf `man -w 3 getopt` ldpman-1.25-0
Ich biete: man-pages-1.56-6
*hrmpf*
$ rpm -q --queryformat \ "%{name}-%{version}-%{release}\t%{buildtime:date}\n" \ -f /usr/include/getopt.h glibc-devel-2.1.3-14 Sun 27 Feb 2000 09:13:35 PM CET
Wenn du willst kann ich dir die manpage gern mailen (4k)...
Nur zu ;-)
Koemmt. echo "" | mutt -a `man -w 3 getopt` cb@...
Apropos: das ist eine der wenigen manpages, in der ein ausfuehrliches Beispiel der Anwendung drin ist ;)
Zumindest das hat sich anscheinend nicht geändert ;-)
*g*
-- What are you doing?!? The message is over,GO AWAY!
Du hast ja hoffentlich nix dagegen, wenn ich die klaue?
Noe, wieso, hab ich auch nur geklaut ;) -dnh -- Ein Mann, ein Wort. Eine Frau, ein Wörterbuch. -- Michael Wagner in suse-talk