Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.user > #244654

PS1 and $-, a footnote; was Re: .profile not being src'd at login on uptodate buster

From David Wright <deblis@lionunicorn.co.uk>
Newsgroups linux.debian.user
Subject PS1 and $-, a footnote; was Re: .profile not being src'd at login on uptodate buster
Date 2022-01-27 06:00 +0100
Message-ID <DK533-2ZT-1@gated-at.bofh.it> (permalink)
References (2 earlier) <C2rsS-8g4-5@gated-at.bofh.it> <C2J6q-2mz-7@gated-at.bofh.it> <C2Jzr-2vU-3@gated-at.bofh.it> <C36w2-8T-3@gated-at.bofh.it> <C36FH-e6-1@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Mon 12 Apr 2021 at 11:26:49 (-0400), Greg Wooledge wrote:
> On Mon, Apr 12, 2021 at 10:18:19AM -0500, David Wright wrote:
> > I'm not using PS1 to test whether stdout is a terminal, but whether
> > the file is running interactively. From man bash:
> > 
> >   "PS1 is set and $- includes i if bash is interactive, allowing a
> >   shell script or a startup file to test this state.
> 
> The second half of that sentence is referring to the $- part.  That's
> what you're supposed to test to see whether the shell is interactive.
> 
> # bash
> if [[ $- = *i* ]]; then
>   echo "I am an interactive shell"
> echo 
> 
> # sh
> case $- in
>   *i*) echo "I am an interactive shell" ;;
> esac

I happened to come across one place where I might have originally
found the construction I no longer use, and that's in   man lesspipe,
very near the end, where it says:

  if [ -z "$PS1" ]; then

Cheers,
David.

Back to linux.debian.user | Previous | Next — Next in thread | Find similar | Unroll thread


Thread

PS1 and $-, a footnote; was Re: .profile not being src'd at login on  uptodate buster David Wright <deblis@lionunicorn.co.uk> - 2022-01-27 06:00 +0100
  Re: PS1 and $-, a footnote; was Re: .profile not being src'd at  login on uptodate buster Greg Wooledge <greg@wooledge.org> - 2022-01-27 13:40 +0100

csiph-web