tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: interactive shell detection in shrc



At Fri, 27 Sep 2024 01:32:34 +0200, Steffen Nurpmeso <steffen%sdaoden.eu@localhost> wrote:
Subject: Re: interactive shell detection in shrc
>
> Hello.
>
> Greg A. Woods wrote in <m1stwmt-0036s2C@more.local>:
>  |At Tue, 24 Sep 2024 00:56:40 +0200, Steffen Nurpmeso <steffen%sdaoden.eu@localhost> \
>  |wrote:
>  |Subject: Re: interactive shell detection in shrc
>  |>
>  |>           case ${-} in
>  |>           *i*|*m*) # {{{
>  |>   ...
>  |>           esac
>  |
>  |I'm very curious:  why did you include "m" in that test?
>
> Pfffffh .. likely because i wanted to use aliases under some
> conditions?  Unforunately history ends in 2015, where i resorted
> my entire configuration, and moved it all to git, i think.
> (There is home.attic in the first commit, with .cvsrc and .hgrc.)
> This could be the answer, as this file includes things as here
>
>       [ -f "${HOME}/.${OSTYPE}.alias" ]   && . "${HOME}/.${OSTYPE}.alias"

Perhaps I'm obtuse, but I think your answer is for some other question.

What do aliases have to do with job control?


>  |To work around this I do the following:
>  |
>  | _interactive=false
>  | case "$-" in
>  | *i*)
>  |  _interactive=true
>  |  ;;
>  | esac
>  | case "$0" in
>  | -*)
>  |  _interactive=true
>  |  ;;
>  | esac
>  | if ${_interactive}; then
>  |  : ... do interactive setup
>  | else
>  |  : ... do script-mode setup
>  | fi
>  | unset _interactive
>
> This looks very much interesting, except that i would insist on
> being afraid on that "if EXPANSION" thing.

Huh?

The use of the "if $var; then" construct has been rock-solid reliable in
every shell I've ever seen since the 1980s.  My SCCS history for my
~/.profile confirms I was using this construct well before 1993 so it
definitely worked with the old System V Release 2 shell.  See the whole
history here:

	https://github.com/robohack/dotfiles.git

Indeed I still test it regularly today with all the shells I encounter.
Even zsh complies (and that's the shell I have the most problems with).

--
					Greg A. Woods <gwoods%acm.org@localhost>

Kelowna, BC     +1 250 762-7675           RoboHack <woods%robohack.ca@localhost>
Planix, Inc. <woods%planix.com@localhost>     Avoncote Farms <woods%avoncote.ca@localhost>

Attachment: pgp3bSNUURYF7.pgp
Description: OpenPGP Digital Signature



Home | Main Index | Thread Index | Old Index