SuSE 9.2: bash_completion: Datei "2" wird bei jedem Aufruf erstellt.
Bei jedem Bash-Aufruf wird eine leere Datei "2" erstellt. Die Stelle habe ich auch ausfindig gemacht: Die Datei /etc/bash.bashrc, die wiederum die Datei /etc/bash_completion sourced. Diese /etc/bash_completion veranstaltet den Zirkus. Allerdings sehe ich mich nicht in der Lage, die 6104 Zeilen der /etc/bash_completion duchzuforsten. Deshalb meine Frage: hat jemand das gleiche Problem und evtl. die maßgebliche Stelle schon gefunden? Hier die entsprechende Stelle in der /etc/bash.bashrc, Zeile 222: if test "$is" = "bash" ; then case "$BASH_VERSION" in [2-9].*) if test -e $HOME/.bash_completion ; then . $HOME/.bash_completion elif test -e /etc/bash_completion ; then . /etc/bash_completion elif test -s /etc/profile.d/complete.bash ; then . /etc/profile.d/complete.bash fi ;; *) ;; esac fi Habe 9.2, bash-3.0-8 und bash-completion-20040711-2 auf meinem Rechner. Rechner läuft unter UTF-8. Gruß! Hermann Flacke
Hallo, Am Wed, 24 Nov 2004, Hermann Flacke schrieb:
Bei jedem Bash-Aufruf wird eine leere Datei "2" erstellt.
Die Stelle habe ich auch ausfindig gemacht:
Die Datei /etc/bash.bashrc, die wiederum die Datei /etc/bash_completion sourced. Diese /etc/bash_completion veranstaltet den Zirkus.
grep -n '>2' /etc/bash_completion Das ist bestimmt eine Stelle, an der >2 statt >&2 steht. -dnh -- Oh, I am a C programmer and I'm okay I muck with indices and structs all day And when it works, I shout hoo-ray Oh, I am a C programmer and I'm okay [BSD fortune file]
On Wed, Nov 24, 2004 at 10:10:04PM +0100, David Haller wrote:
Hallo,
Am Wed, 24 Nov 2004, Hermann Flacke schrieb:
Bei jedem Bash-Aufruf wird eine leere Datei "2" erstellt.
Die Stelle habe ich auch ausfindig gemacht:
Die Datei /etc/bash.bashrc, die wiederum die Datei /etc/bash_completion sourced. Diese /etc/bash_completion veranstaltet den Zirkus.
grep -n '>2' /etc/bash_completion
Das ist bestimmt eine Stelle, an der >2 statt >&2 steht.
Das war's leider nicht. Alle Umleitungen mit "2" drin sind ok. Da spielt noch etwas anderes mit. Ich werde da wohl stückweise nach dem Ausschlussverfahren vorgehen. Danke für den Tipp. Hermann Flacke
Hallo, Am Fri, 26 Nov 2004, Hermann Flacke schrieb:
On Wed, Nov 24, 2004 at 10:10:04PM +0100, David Haller wrote:
Am Wed, 24 Nov 2004, Hermann Flacke schrieb:
Bei jedem Bash-Aufruf wird eine leere Datei "2" erstellt.
Die Stelle habe ich auch ausfindig gemacht:
Die Datei /etc/bash.bashrc, die wiederum die Datei /etc/bash_completion sourced. Diese /etc/bash_completion veranstaltet den Zirkus.
grep -n '>2' /etc/bash_completion
Das ist bestimmt eine Stelle, an der >2 statt >&2 steht.
Das war's leider nicht. Alle Umleitungen mit "2" drin sind ok. Da spielt noch etwas anderes mit.
Kontrolliere aber auch noch mit grep -n '> 2' sowie evtl. gesourcte Dateien.
Ich werde da wohl stückweise nach dem Ausschlussverfahren vorgehen.
sh -x / set -x kennst du? -dnh -- Ich glaub's nicht. Ich glaub's einfach nicht. WoKo hat ein Quoting ohne Kammeffekt geschafft! Ist das nicht eine Leistung? [Christopher Splinter etwas fassungslos in dag°]
On Fri, Nov 26, 2004 at 10:37:44PM +0100, David Haller wrote:
Hallo,
Am Fri, 26 Nov 2004, Hermann Flacke schrieb:
On Wed, Nov 24, 2004 at 10:10:04PM +0100, David Haller wrote:
Am Wed, 24 Nov 2004, Hermann Flacke schrieb:
Bei jedem Bash-Aufruf wird eine leere Datei "2" erstellt.
Die Stelle habe ich auch ausfindig gemacht:
Die Datei /etc/bash.bashrc, die wiederum die Datei /etc/bash_completion sourced. Diese /etc/bash_completion veranstaltet den Zirkus.
grep -n '>2' /etc/bash_completion
Das ist bestimmt eine Stelle, an der >2 statt >&2 steht.
Das war's leider nicht. Alle Umleitungen mit "2" drin sind ok. Da spielt noch etwas anderes mit.
Kontrolliere aber auch noch mit grep -n '> 2' ^^^^^^^^^^^^^ Kein Fund. sowie evtl. gesourcte Dateien.
Ich werde da wohl stückweise nach dem Ausschlussverfahren vorgehen.
sh -x / set -x kennst du? Ja.
Allerdings habe ich mittlerweile herausgefunden, dass in der bash_completion folgende Konstrukte immer angemeckert werden, wenn dieses Skript mit "sh -n bash_completion" untersucht wird. if [[ $1 == @(declare|typeset) ]]; then ^^^ wird angemeckert: bash_completion: line 426: syntax error in conditional expression: unexpected token `(' bash_completion: line 426: syntax error near `@(d' bash_completion: line 426: ` if [[ $1 == @(declare|typeset) ]]; then' genauso bei: bash_completion: line 479: syntax error near unexpected token `(' bash_completion: line 479: ` -@(p|r))' ^^^^^^^^ wird angemeckert. Ich glaube, da hakelt noch die Syntax - oder? Gruß! Hermann Flacke
Hallo, Am Sat, 27 Nov 2004, Hermann Flacke schrieb: [..]
Allerdings habe ich mittlerweile herausgefunden, dass in der bash_completion folgende Konstrukte immer angemeckert werden, wenn dieses Skript mit "sh -n bash_completion" untersucht wird.
Verwende besser 'bash'.
if [[ $1 == @(declare|typeset) ]]; then ^^^
[..] Du musst extglob aktivieren: shopt -s extglob -dnh -- Eines Tages wird der Rechner laufen, und an dem Tag gehe ich in Rente ... [Christian Kuhn in suse-linux]
On Sat, Nov 27, 2004 at 10:07:24PM +0100, David Haller wrote:
Hallo,
Am Sat, 27 Nov 2004, Hermann Flacke schrieb: [..]
Allerdings habe ich mittlerweile herausgefunden, dass in der bash_completion folgende Konstrukte immer angemeckert werden, wenn dieses Skript mit "sh -n bash_completion" untersucht wird.
Verwende besser 'bash'.
if [[ $1 == @(declare|typeset) ]]; then ^^^
[..]
Du musst extglob aktivieren: shopt -s extglob
OK. Aber "bash -n ./bash_completion" ergibt nach wie vor die Fehlermeldung: ./bash_completion: line 425: syntax error in conditional expression: unexpectedtoken `(' ./bash_completion: line 425: syntax error near `@(d' ./bash_completion: line 425: ` if [[ $1 == @(declare|typeset) ]]; then' ^^^^^ Was für eine Konstruktion ist das eigentlich, das "@(". In der "Advanced Bash Scripting guide habe ich es nicht gefunden. Oder verursachen eventuell die Schlüsselwörter "declare" und "typeset" das Malheur. Gruß! Hermann Flacke
Hallo, Am Sun, 28 Nov 2004, Hermann Flacke schrieb:
On Sat, Nov 27, 2004 at 10:07:24PM +0100, David Haller wrote:
Du musst extglob aktivieren: shopt -s extglob Aber "bash -n ./bash_completion" ergibt nach wie vor die Fehlermeldung:
Komisch.
Was für eine Konstruktion ist das eigentlich, das "@(". In der "Advanced Bash Scripting guide habe ich es nicht gefunden.
man -P'less "+/\@\("' bash -dnh -- 7: DOS Denial Of Service (Kristian Köhntopp)
On Sun, Nov 28, 2004 at 04:14:12PM +0100, David Haller wrote:
Hallo,
Am Sun, 28 Nov 2004, Hermann Flacke schrieb:
On Sat, Nov 27, 2004 at 10:07:24PM +0100, David Haller wrote:
Du musst extglob aktivieren: shopt -s extglob Aber "bash -n ./bash_completion" ergibt nach wie vor die Fehlermeldung:
Komisch.
Was für eine Konstruktion ist das eigentlich, das "@(". In der "Advanced Bash Scripting guide habe ich es nicht gefunden.
man -P'less "+/\@\("' bash Danke.
Man lernt nie aus. Ich werden weitersuchen und mich melden, wenn ich's gefunden hab. Gruß! Hermann Flacke
participants (2)
-
David Haller
-
hermann.flacke@t-online.de