typeset mag kein "-g"
-
- Beiträge: 106
- Registriert: 30.08.2009 08:08:53
- Lizenz eigener Beiträge: Artistic Lizenz
typeset mag kein "-g"
Da will ich mich mal mit dem command-not-found-Paket beschäftigen, und dann mag das Initscript nicht, weil typeset -g - entgegen sämtlichen mir bekannten Handbüchern - nicht funktioniert. "Ungültige Option". Jemand eine Idee?
System: Debian Squeeze, täglich aktualisiert.
System: Debian Squeeze, täglich aktualisiert.
Re: typeset mag kein "-g"
Welche Handbücher denn? Die Manpage zu bash(1) sagt mir:CrimsonKing hat geschrieben:[...] weil typeset -g - entgegen sämtlichen mir bekannten Handbüchern - nicht funktioniert. "Ungültige Option". Jemand eine Idee?
System: Debian Squeeze, täglich aktualisiert.
Ebenso die Manpage zu ksh(1):typeset [-aAfFilrtux] [-p] [name[=value] ...]
Ich sehe da kein `-g'.typeset [ ±ACHSflbnprtux ] [ ±EFLRXZi[n] ] [ -T tname=(assign_list) ] [ -h str ] [ -a [type] ] [ vname[=value ] ] ...
(Hier ebenfalls sid.)
Use ed once in a while!
-
- Beiträge: 106
- Registriert: 30.08.2009 08:08:53
- Lizenz eigener Beiträge: Artistic Lizenz
Re: typeset mag kein "-g"
Als ich das schrieb, hatte ich gerade irgendein zsh-Handbuch zur Hand, in dem mehrfach die Verwendung von typeset -g erläutert wurde. Finde das jetzt natürlich gerade nicht. Aber wenn die Option in einem Debian-Paket verwendet wird, muss sie doch existieren?
Re: typeset mag kein "-g"
Ja, die zsh kennt -g bei typeset.
Ich habe mir die Sache jetzt mal angeschaut:
Somit sollte das Paket in Ordnung sein. Ich vermute, du hast bei deinen Beschäftigungen mit dem Paket versucht das zsh-Script in einer anderen Shell auszuführen, oder ähnliches.
Ich habe mir die Sache jetzt mal angeschaut:
`typeset -g' kommt nur im zsh-Script vor (die Zeilen im Patch betreffen auch nur das zsh-Script).$ grep -R 'typeset.*-g' command-not-found-0.2.38/
command-not-found-0.2.38/debian/patches/adjust-paths.diff:- typeset -g cnf_command="${1%% *}"
command-not-found-0.2.38/debian/patches/adjust-paths.diff:+ typeset -g cnf_command="${1%% *}"
command-not-found-0.2.38/debian/patches/adjust-paths.diff: typeset -ga preexec_functions
command-not-found-0.2.38/zsh_command_not_found: typeset -g cnf_command="${1%% *}"
command-not-found-0.2.38/zsh_command_not_found:typeset -ga preexec_functions
command-not-found-0.2.38/zsh_command_not_found:typeset -ga precmd_functions
Somit sollte das Paket in Ordnung sein. Ich vermute, du hast bei deinen Beschäftigungen mit dem Paket versucht das zsh-Script in einer anderen Shell auszuführen, oder ähnliches.
Use ed once in a while!
-
- Beiträge: 106
- Registriert: 30.08.2009 08:08:53
- Lizenz eigener Beiträge: Artistic Lizenz
Re: typeset mag kein "-g"
Auch, wenn ich typeset -g in der zsh ausführe, kommt das falsche Ergebnis heraus.
Die zsh ist bei mir die Standardshell, "aus Versehen" in die bash komme ich nicht, das würde ich am Prompt merken.
Die zsh ist bei mir die Standardshell, "aus Versehen" in die bash komme ich nicht, das würde ich am Prompt merken.
Re: typeset mag kein "-g"
Und ich tippe doch, dass dieser Aufruf nicht von der zsh ausgeführt wurde.CrimsonKing hat geschrieben:Die zsh ist bei mir die Standardshell, "aus Versehen" in die bash komme ich nicht, das würde ich am Prompt merken.
Du rufst das Script direkt auf, normalerweise wird es von dem in der Shebangzeile angebenen Interpreter ausgeführt. Dieses Script hat keine Shebangzeile, deshalb wird es vermutlich von /bin/sh interpretiert. /bin/sh linkt vermutlich auf die bash.
Rufe das Script mal explizit mit der zsh auf:
Code: Alles auswählen
zsh /etc/zsh_command_not_found
Code: Alles auswählen
. /etc/zsh_command_not_found
Use ed once in a while!
-
- Beiträge: 106
- Registriert: 30.08.2009 08:08:53
- Lizenz eigener Beiträge: Artistic Lizenz
Re: typeset mag kein "-g"
Oha. Scheint, als hättest du Recht. Mit . davor (in der .zshrc) geht es. Verdammt - da hätte ich drauf kommen können. Danke!
Re: typeset mag kein "-g"
Das sieht aber nicht nach zsh aus. Was gibt echo $0 aus?CrimsonKing hat geschrieben:Auch, wenn ich typeset -g in der zsh ausführe, kommt das falsche Ergebnis heraus.
Die zsh ist bei mir die Standardshell, "aus Versehen" in die bash komme ich nicht, das würde ich am Prompt merken.
Meine Whishlist
:wq!
:wq!
-
- Beiträge: 106
- Registriert: 30.08.2009 08:08:53
- Lizenz eigener Beiträge: Artistic Lizenz
Re: typeset mag kein "-g"
Dann ist Dein Script wohl nicht von der zsh ausgeführt worden.CrimsonKing hat geschrieben:zsh
Meine Whishlist
:wq!
:wq!
-
- Beiträge: 106
- Registriert: 30.08.2009 08:08:53
- Lizenz eigener Beiträge: Artistic Lizenz
Re: typeset mag kein "-g"
Ja, ich dachte nach obigem Gespräch, das wäre klar?
Re: typeset mag kein "-g"
Wurde oben von mir doch schon erklärt. (Ich kann nicht versichern, dass meine Erklärung korrekt ist, doch ich vermute stark, dass sie es ist, oder zumindest in die richtige Richtung geht.)chrisbra hat geschrieben:Dann ist Dein Script wohl nicht von der zsh ausgeführt worden.
Welche Frage ist denn noch offen?
Use ed once in a while!
Re: typeset mag kein "-g"
Keine. Meine Antwort sollte als Ergänzung zu Deiner dienen. denn mit echo $0 erfährt man, welche Shell ausgeführt wird. Na egal.Meillo hat geschrieben:Wurde oben von mir doch schon erklärt. (Ich kann nicht versichern, dass meine Erklärung korrekt ist, doch ich vermute stark, dass sie es ist, oder zumindest in die richtige Richtung geht.)chrisbra hat geschrieben:Dann ist Dein Script wohl nicht von der zsh ausgeführt worden.
Welche Frage ist denn noch offen?
Meine Whishlist
:wq!
:wq!