Korn shell question

Don Russell fedora at drussell.dnsalias.com
Tue Apr 15 23:56:08 UTC 2008


On Tue, Apr 15, 2008 at 4:17 PM, Cameron Simpson <cs at zip.com.au> wrote:

> On 15Apr2008 12:09, Don Russell <fedora at drussell.dnsalias.com> wrote:
> | On Tue, Apr 15, 2008 at 11:08 AM, Patrick O'Callaghan <
> pocallaghan at gmail.com>
> | wrote:
> | > On Tue, 2008-04-15 at 10:49 -0700, Don Russell wrote:
> | > > How can I tell, from a Korn shell script, if the script is running
> in
> | > > a vi sub-shell?
> | > >
> | > > I have a script that has a problem when run from a vi subshell, and
> | > > I'd like to check for that condition and just issue an error
> message.
> | > > (I know that's not the solution to the problem, but the thing that
> | > > fails is being replaced, so this is a temporary "fix")
> | >
> | > Try:
> | > ls -l /proc/`cat /proc/$$/status|grep PPid|cut -f2`/exe
> | > and work from there.
> |
> | That looks promising... thanks :-)
>
> Promising, but will work only on Linux. That may be enough for you, but
> you
> shouldn't forget that it's nonportable.
>

I just tried this on a Linux system... it makes sense... I tried it on a
UNIX (AIX) system, and it did not help directly. On UNIX the status file
appears to be "raw" binary data that maps to a C structure... could get
tricky trying to extract the correct parts.

On Linux, it looks like that decoding is all done and present in
human-readable terms. :-)



> You can probably make that `cat|grep|cut` into a single `sed` at some
> performance benefit.
>
> Another approach is to alter your shell environment to always set and
> export
> an environment variable when starting vi (by invoking vi via a wrapper
> script
> or alias or shell function) and then just checking for it.
>

Though simple, that's not an option for me.... I can't "wrap" vi...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/fedora-list/attachments/20080415/52c31281/attachment-0001.htm>


More information about the fedora-list mailing list