Tassilo Philipp | dyncall.org dixit:
>So weit so gut - liege ich damit richtig, dass der Unterschied ist,
>dass pdksh *immer* ENV reinzieht, aber mksh nur im interaktiven Modus?
Sorry für die späte Antwort – aber ich habe gerade Sourcen und
Historiën gelesen und alles, und festgestellt, daß dem in der
Tat so ist. Das ist ein Bugfix, denn $ENV sollte in der Tat nur
bei interaktiven Shells gelesen werden, nicht z.B. beim Lauf von
make(1). Und mksh(1) dokumentiert:
-i Interactive shell. A shell that reads commands from standard
input is "interactive" if this option is used or if both stan-
dard input and standard error are attached to a tty(4). An in-
Kurzum: nein, Aliase gehen da nicht, außer der Befehl, den Du
in vim ausführst, ist z.B. „mksh -ic aliasname“. Mache ich in
jupp auch so, jetzt wo ich drüber nachdenke…
POSIX sagt dazu:
The shell shall read its input in terms of lines from a file, from
a terminal in the case of an
interactive shell, or from a string in the case of [30]sh -c or
[31]system(). The input lines can be of
Also vermutlich korrekt, daß -c nie interaktiv impliziert. Und:
ENV
This variable, when and only when an interactive shell is
invoked, shall be subjected to
parameter expansion (see [66]Parameter Expansion) by the shell and
the resulting value shall be
used as a pathname of a file containing shell commands to execute in
the current environment. The
Also auch korrekt, daß $ENV nur bei interaktiven Shells gerufen wird.
tl;dr: weder ein Bug in vim noch einer in mksh, wohl einer in pdksh.
Sorry für die Umstände.
Gruß
//mirabilos
--
“The final straw, to be honest, was probably my amazement at the volume of
petty, peevish whingeing certain of your peers are prone to dish out on
-devel, telling each other how to talk more like a pretty princess, as though
they were performing some kind of public service.” (someone to me, privately)