Hallo, unter 11.4 habe ich den Hostnamen und das Verzeichnis als Prompt. Ich möchte das aber gerne noch erweiteren. Ich habe mir deshalb ein Datei profile.local auf /etc angelegt und da meinen Prompt neu definiert. Scheint aber keinerlei Wirkung zu zeigen. Wenn ich $PS1 auf der Shell ausgeben lasse habe ich alles, nur nichtd as von mir definierte. Es scheint also irgendwo nochmal überschrieben zu werden. Weiß jemand wo? Ich hab mir schon nen Wolf gesucht, es aber nicht gefunden. Oder weiß jemand, wo man den Prompt unter 11.4 ändert? Gruß Daniel -- Daniel Spannbauer Software Entwicklung marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4 - 6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Daniel Spannbauer wrote:
unter 11.4 habe ich den Hostnamen und das Verzeichnis als Prompt. Ich möchte das aber gerne noch erweiteren.
Ich habe mir deshalb ein Datei profile.local auf /etc angelegt und da meinen Prompt neu definiert. Scheint aber keinerlei Wirkung zu zeigen. Wenn ich $PS1 auf der Shell ausgeben lasse habe ich alles, nur nichtd as von mir definierte. Es scheint also irgendwo nochmal überschrieben zu werden.
Weiß jemand wo? Ich hab mir schon nen Wolf gesucht, es aber nicht gefunden. Oder weiß jemand, wo man den Prompt unter 11.4 ändert?
man bash (suche nach INVOCATION) bash durchläuft (als Login-Shell) IMMER zuerst /etc/profile. Bei openSUSE wird aus /etc/profile die /etc/profile.local aufgerufen. Danach durchläuft die bash (falls vorhanden) eine der drei Dateien ~/.bash_profile ~/.bash_login ~/.profile (die erste, die gefunden wird wird benutzt) Du musst nur sicherstellen, das "dein" PS1 zuletzt gesetzt wird, wo immer du das auch setzen willst. Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 02/21/2012 10:04 AM, schrieb Kyek, Andreas, VF-DE:
Daniel Spannbauer wrote:
unter 11.4 habe ich den Hostnamen und das Verzeichnis als Prompt. Ich möchte das aber gerne noch erweiteren.
Ich habe mir deshalb ein Datei profile.local auf /etc angelegt und da meinen Prompt neu definiert. Scheint aber keinerlei Wirkung zu zeigen. Wenn ich $PS1 auf der Shell ausgeben lasse habe ich alles, nur nichtd as von mir definierte. Es scheint also irgendwo nochmal überschrieben zu werden.
Weiß jemand wo? Ich hab mir schon nen Wolf gesucht, es aber nicht gefunden. Oder weiß jemand, wo man den Prompt unter 11.4 ändert?
man bash (suche nach INVOCATION)
bash durchläuft (als Login-Shell) IMMER zuerst /etc/profile. Bei openSUSE wird aus /etc/profile die /etc/profile.local aufgerufen.
Danach durchläuft die bash (falls vorhanden) eine der drei Dateien ~/.bash_profile ~/.bash_login ~/.profile (die erste, die gefunden wird wird benutzt)
Du musst nur sicherstellen, das "dein" PS1 zuletzt gesetzt wird, wo immer du das auch setzen willst.
Andreas
Hmm, bash.bashrc.....so ein Mist...warum hat mein grep das nicht gefunden? Danke. Dann muss ich die profile so umbauen das ich die profile.local danach nochmal fresse. Danke Gruß Daniel -- Daniel Spannbauer Software Entwicklung marco Systemanalyse und Entwicklung GmbH Tel +49 8333 9233-27 Fax -11 Rechbergstr. 4 - 6, D 87727 Babenhausen Mobil +49 171 4033220 http://www.marco.de/ Email ds@marco.de Geschäftsführer Martin Reuter HRB 171775 Amtsgericht München -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo Daniel, On Tuesday, 21.February.2012 10:23:30 Daniel Spannbauer wrote:
Hmm, bash.bashrc.....so ein Mist...warum hat mein grep das nicht gefunden?
Du kannst den Prompt auch zentral umstellen. Das macht man am Besten in /etc/bash.bashrc.local Bei mir sieht die entsprechende Stelle dann so aus: export PS1='${PWD#$HOME/} \$ ' Roman -- Roman Fietze Telemotive AG Buero Muehlhausen Breitwiesen 73347 Muehlhausen Tel.: +49(0)7335/18493-45 http://www.telemotive.de -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hi Daniel, Am 21.02.2012 10:23, schrieb Daniel Spannbauer:
Am 02/21/2012 10:04 AM, schrieb Kyek, Andreas, VF-DE:
Daniel Spannbauer wrote:
[...]
Danach durchläuft die bash (falls vorhanden) eine der drei Dateien ~/.bash_profile ~/.bash_login ~/.profile (die erste, die gefunden wird wird benutzt)
Hmm, bash.bashrc.....so ein Mist...warum hat mein grep das nicht gefunden?
wahrscheinlich weil das File mit 'nem Punkt beginnt und ein grep irgendwas .* * nicht funktioniert wegen . und .. Habe da auch noch keine funktionierende Lösung dafür gefunden. Gruss Werner
Am Dienstag, 21. Februar 2012, 10:42:26 schrieb Werner Franke:
Hmm, bash.bashrc.....so ein Mist...warum hat mein grep das nicht gefunden? wahrscheinlich weil das File mit 'nem Punkt beginnt und ein
grep irgendwas .* *
nicht funktioniert wegen . und .. Habe da auch noch keine funktionierende Lösung dafür gefunden.
Das wird vermutlich nicht rekursiv funktionieren wäre aber mal ein Ansatz: ralf@arndt-act-lnx:~> grep PILOTRATE .[^.]* .bashrc:#export PILOTRATE=115200 Grüße Ralf -- Antworten bitte nur in die Mailingliste! PMs bitte an: listpm (@) arndt-de (.) eu -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
On Tue, February 21, 2012 10:42, Werner Franke wrote:
Hi Daniel,
Am 21.02.2012 10:23, schrieb Daniel Spannbauer:
Am 02/21/2012 10:04 AM, schrieb Kyek, Andreas, VF-DE:
Daniel Spannbauer wrote:
[...]
Danach durchläuft die bash (falls vorhanden) eine der drei Dateien ~/.bash_profile ~/.bash_login ~/.profile (die erste, die gefunden wird wird benutzt)
Hmm, bash.bashrc.....so ein Mist...warum hat mein grep das nicht gefunden?
wahrscheinlich weil das File mit 'nem Punkt beginnt und ein
grep irgendwas .* *
nicht funktioniert wegen . und .. Habe da auch noch keine funktionierende Lösung dafür gefunden.
1) grep -R "foobar" . (GNUismus) 2) find . -type f -exec grep "foobar" '{}' + (portabel) 3) Bash: shopt -s dotglob (nicht empfehlenswert) Grüße, Christian -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
On Tue, 21 Feb 2012 17:51:18 +0100, "Christian Brabandt"
2) find . -type f -exec grep "foobar" '{}' + (portabel)
Oder, weil resourcenschonender, grep "foobar" $(find . -type f) bzw. wenn es zuviele Treffer gibt find . -type f -print0 | xargs -0 grep "foobar" und wenn man noch ein Quentchen mehr Performance haben möchte und nach festen Zeichenketten sucht verwendet man 'grep -F'. Philipp -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hi Philipp! On Di, 21 Feb 2012, Philipp Thomas wrote:
On Tue, 21 Feb 2012 17:51:18 +0100, "Christian Brabandt"
wrote: 2) find . -type f -exec grep "foobar" '{}' + (portabel)
Oder, weil resourcenschonender,
grep "foobar" $(find . -type f)
Das macht Probleme mit Leerzeichen in Dateinamen. Und wieso sollte das ressourcenschonender sein?
bzw. wenn es zuviele Treffer gibt
find . -type f -print0 | xargs -0 grep "foobar"
Das ist wieder unportabel und nicht schneller als die obige find Lösung.
und wenn man noch ein Quentchen mehr Performance haben möchte und nach festen Zeichenketten sucht verwendet man 'grep -F'.
Ja, wenn man keine regulären Ausdrücke braucht. Mit freundlichen Grüßen Christian -- Werke, die man schreibt und die man tut, kann man erst lange nach ihrer Vollendung korrigieren. -- Jean Paul -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
On Tue, 21 Feb 2012 22:22:08 +0100, Christian Brabandt
2) find . -type f -exec grep "foobar" '{}' +
Das startet grep für jede gefundene Datei.
grep "foobar" $(find . -type f)
Das für alle gefundenen Dateien.
Und wieso sollte das ressourcenschonender sein?
Erklärt es sich jetzt_
Ja, wenn man keine regulären Ausdrücke braucht.
Was ich ja schrieb :-) Philipp -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hi Philipp! On Mi, 22 Feb 2012, Philipp Thomas wrote:
On Tue, 21 Feb 2012 22:22:08 +0100, Christian Brabandt
wrote: 2) find . -type f -exec grep "foobar" '{}' +
Das startet grep für jede gefundene Datei.
Nein: ,----[ man find ]- | -exec command {} + | This variant of the -exec action runs the specified command on | the selected files, but the command line is built by appending | each selected file name at the end; the total number of invoca‐ | tions of the command will be much less than the number of | matched files. The command line is built in much the same way | that xargs builds its command lines. Only one instance of `{}' | is allowed within the command. The command is executed in the | starting directory. `----
Und wieso sollte das ressourcenschonender sein?
Erklärt es sich jetzt_
Eben nicht. Mit freundlichen Grüßen Christian -- Die genialen Menschen aller Länder sind sehr wohl imstande, einander zu verstehen und zu achten. -- Germaine de Staël (Über Deutschland) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
On Wed, 22 Feb 2012 11:31:24 +0100, Christian Brabandt
Eben nicht.
Mit der obigen Beschreibung ist meine Begründung in der Tat hinfällig geworden. Allerdings gilt das erst einmal nur für die GNU findutils und ist nicht automatisch auf andere *nixe übertragbar. Philipp -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
On Wed, February 22, 2012 23:46, Philipp Thomas wrote:
Mit der obigen Beschreibung ist meine Begründung in der Tat hinfällig geworden. Allerdings gilt das erst einmal nur für die GNU findutils und ist nicht automatisch auf andere *nixe übertragbar.
Reicht Dir Posix? http://pubs.opengroup.org/onlinepubs/9699919799/utilities/find.html Tatsächlich, hat GNU dieses Feature erst relativ spät implementiert, so 2005 und da konnten z.B. die BSD finds das auf jeden Fall schon. Inwieweit das wirklich portabel ist, weiß ich nicht. Ich habe leider keinen Zugriff auf andere Unixe und kann das nicht testen. Ich würde mich daher eher auf die Spezifikation verlassen, als auf GNU Workarounds à la: find -print0 |xargs -0 Grüße, Christian -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
On Thu, 23 Feb 2012 09:20:00 +0100, "Christian Brabandt"
Reicht Dir Posix? http://pubs.opengroup.org/onlinepubs/9699919799/utilities/find.html
Das ist ein Eigentor :) Ich zitiere aus besagter Seite: If the primary expression is punctuated by a <plus-sign>, the primary shall always evaluate as true, and the pathnames for which the primary is evaluated shall be aggregated into sets. Danach dürfte find nur bei "-exec {} + " die Argumente zu Gruppen zusammenfassen, nicht aber bei {} \; Wie sieht das bei BSD find aus? Philipp -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Am 24. Februar 2012 00:06 schrieb Philipp Thomas
Danach dürfte find nur bei "-exec {} + " die Argumente zu Gruppen zusammenfassen, nicht aber bei {} \;
Wie sieht das bei BSD find aus?
OpenBSD 5.1 kann's: http://tinyurl.com/muchg 4.3 konnte es noch nicht. Gruß Martin -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
On Fri, February 24, 2012 00:06, Philipp Thomas wrote:
On Thu, 23 Feb 2012 09:20:00 +0100, "Christian Brabandt"
Reicht Dir Posix? http://pubs.opengroup.org/onlinepubs/9699919799/utilities/find.html
Das ist ein Eigentor :)
???
Ich zitiere aus besagter Seite:
If the primary expression is punctuated by a <plus-sign>, the primary shall always evaluate as true, and the pathnames for which the primary is evaluated shall be aggregated into sets.
Danach dürfte find nur bei "-exec {} + " die Argumente zu Gruppen zusammenfassen, nicht aber bei {} \;
Richtig und ich habe doch auch nur find -exec {} + erwähnt. Ich verstehe nicht, was du mir sagen willst. So steht es doch auch in der Manpage von GNU find.
Wie sieht das bei BSD find aus?
Ich hab wie gesagt keinen Zugriff mehr auf Non-GNU Systeme, daher hier nur kopiert von der Website¹ http://www.freebsd.org/cgi/man.cgi?query=find ,---- | -exec utility [argument ...] ; | | True if the program named utility returns a zero value as its | exit status. Optional arguments may be passed to the utility. | The expression must be terminated by a semicolon (``;''). If you | invoke find from a shell you may need to quote the semicolon if | the shell would otherwise treat it as a control operator.If the | string ``{}'' appears anywhere in the utility name or the argu- | ments it is replaced by the pathname of the current file. | Utility will be executed from the directory from which find was | executed. Utility and arguments are not subject to the further | expansion of shell patterns and constructs. | | -exec utility [argument ...] {} + | | Same as -exec, except that ``{}'' is replaced with as many path- | names as possible for each invocation of utility. This behaviour | is similar to that of xargs(1). `---- ¹) Interessant daran ist, man kann für verschiedene Distributionen die manpage abrufen. Die erste Erwähnung von find -exec + war HP-UX 11.00 (laut Wikipedia von 1997), in FreeBSD seit Version 5 (Datum der Manpage: May 2001) als auch in SunOS 5.9 (Juni 2001), wohin gegen es bei OpenBSD 5 noch nicht enthalten ist. In dem Zusammenhang ist die Seite von Sven Mascheck ganz interessant, der Eigenheiten verschiedener Shells und Unixe dokumentiert, hier über find -exec +: http://www.in-ulm.de/~mascheck/various/find/#xargs Anscheinend rührt es von SVR4 (1988!) her (wo es nicht dokumentiert war). Grüße, Christian -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
On Fri, 24 Feb 2012 09:28:57 +0100, "Christian Brabandt"
Richtig und ich habe doch auch nur find -exec {} + erwähnt.
Mea Culpa, das habe ich einfach übersehen! ich hatte irgendwie immer {} \; im Kopf.
Ich verstehe nicht, was du mir sagen willst.
Vergiss es einfach, ich hatte nicht richtig hingesehen!
http://www.in-ulm.de/~mascheck/various/find/#xargs Anscheinend rührt es von SVR4 (1988!) her (wo es nicht dokumentiert war).
Danke für den Tipp! Ich bin immer am Suchen nach solchen Nachschlagequellen. Philipp -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
Hallo, Am Fri, 24 Feb 2012, Philipp Thomas schrieb:
On Fri, 24 Feb 2012 09:28:57 +0100, "Christian Brabandt"
wrote: Richtig und ich habe doch auch nur find -exec {} + erwähnt.
Mea Culpa, das habe ich einfach übersehen! ich hatte irgendwie immer {} \; im Kopf. [..] Vergiss es einfach, ich hatte nicht richtig hingesehen!
*tätschel* Hab mich schon gefragt wie lange es dauert. Danke, Christian übrigens für deine Geduld ;)
http://www.in-ulm.de/~mascheck/various/find/#xargs Anscheinend rührt es von SVR4 (1988!) her (wo es nicht dokumentiert war).
Danke für den Tipp! Ich bin immer am Suchen nach solchen Nachschlagequellen.
Sven ist _die_ Quelle bzgl. Shell-Eigenheiten, ansonsten kenn ich in der Richtung nur info '(autoconf)Portable Shell'... news:de.comp.os.unix.shell ist natürlich auch lesenswert. -dnh -- Arguing about window managers, or shells, is like arguing about which colour wrench to use to pound in screws. -- David Gersic -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um den Listen Administrator zu erreichen, schicken Sie eine Mail an: opensuse-de+owner@opensuse.org
participants (9)
-
Christian Brabandt
-
Daniel Spannbauer
-
David Haller
-
Kyek, Andreas, VF-DE
-
Martin Schröder
-
Philipp Thomas
-
Ralf Arndt
-
Roman Fietze
-
Werner Franke