public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: "Morten Kjærulff" <mortenkjarulff@gmail.com>
To: cygwin@cygwin.com
Subject: Re: Wrong expansion of ~/
Date: Fri, 28 Aug 2020 08:29:47 +0200	[thread overview]
Message-ID: <CA+7cx1rmptQ+d9_VanhrNLYSm+J80iq5=fwqRYSmyY2UnWwKZw@mail.gmail.com> (raw)
In-Reply-To: <7b4498d5-f59b-9582-7319-328e627c5cce@towo.net>

On Thu, Aug 27, 2020 at 7:59 PM Thomas Wolff wrote:
>
> Am 27.08.2020 um 18:49 schrieb rifter via Cygwin:
> > On 8/27/20, Morten Kjærulff via Cygwin <cygwin@cygwin.com> wrote:
> >> On Tue, Aug 25, 2020 at 3:00 PM Brian Inglis wrote:
> >>> On 2020-08-25 01:15, Morten Kjærulff via Cygwin wrote:
> >>>> On Mon, Aug 24, 2020 at 10:41 PM Brian Inglis wrote:
> >>>>> On 2020-08-24 06:36, Morten Kjærulff via Cygwin wrote:
> >>>>>> On Mon, Aug 24, 2020 at 11:52 AM Thomas Wolff wrote:
> >>>>>>> Am 24.08.2020 um 10:05 schrieb Morten Kjærulff via Cygwin:
> >>>>>>>> I have a script that starts several tmux panes with my favorite
> >>>>>>>> commands.
> >>>>>>>> In some (*some* and only *sometimes*) of the panes I see:
> >>>>>>>>
> >>>>>>>> -bash: /home/xxxxxP/.git-completion.bash: No such file or directory
> >>>>>>>> -bash: /home/xxxxxP/.git-prompt.sh: No such file or directory
> >>>>>>>>
> >>>>>>>> My .bashrc has:
> >>>>>>>>
> >>>>>>>> $ grep git .bashrc
> >>>>>>>> . ~/.git-completion.bash
> >>>>>>>> . ~/.git-prompt.sh
> >>>>>>>>
> >>>>>>>> My userid is xxxxxf (and not xxxxxP).
> >>>>>>>>
> >>>>>>>> Is this known?
> >>>>>>> What if you trace `echo $HOME; echo ~` after the `.`? I have
> >>>>>>> occasional
> >>>>>>> cases where $HOME and ~ start to be different in my shell, which is
> >>>>>>> quite weird and should not happen according to bash documentation.
> >>>>>> Ok,
> >>>>>>
> >>>>>> My userid is xx00mkf.
> >>>>>>
> >>>>>>
> >>>>>> If I add:
> >>>>>>
> >>>>>> . ~/.git-completion.bash
> >>>>>> if [ ! $? = 0 ] ; then
> >>>>>>    echo "HOME=" $HOME
> >>>>>>    echo "~=" ~
> >>>>>> fi
> >>>>>>
> >>>>>> I see:
> >>>>>>
> >>>>>> -bash: /home/xx00m/.git-completion.bash: No such file or directory
> >>>>>> HOME= /home/xx00mkf
> >>>>>> ~= /home/xx00m
> >>>>>>
> >>>>>>
> >>>>>> If I add:
> >>>>>>
> >>>>>> . ~/.git-completion.bash
> >>>>>> if [ ! $? = 0 ] ; then
> >>>>>>    echo "HOME=" $HOME
> >>>>>>    echo "~=" ~
> >>>>>>    echo "~/.git-completion.bash=" ~/.git-completion.bash
> >>>>>> fi
> >>>>>>
> >>>>>> -bash: /home/xx00m/.git-completion.bash: No such file or directory
> >>>>>> HOME= /home/xx00mkf
> >>>>>> ~= /home/xx00mkf
> >>>>>> ~/.git-completion.bash= /home/xx00mkf/.git-completion.bash
> >>>>> HOME dir depends on entries in:
> >>>>>
> >>>>>          /etc/nsswitch.conf
> >>>>>
> >>>>> whether you have /etc/passwd and/or /etc/group files and their entries;
> >>>>>
> >>>>> your SAM and/or AD entry contents including e.g.
> >>>>>
> >>>>>          $ net user $USER | grep '^Comment'
> >>>>>          Comment         <cygwin home="/home/..." group="Users"...>
> >>>>>
> >>>>> You can check if any of these are in effect by running:
> >>>>>
> >>>>>          $ getent passwd $USER
> >>>>>
> >>>>> If you think they are relevant, you might also want to try to trace and
> >>>>> debug
> >>>>> your bash-completion setup scripts:
> >>>>>
> >>>>>          $ set -vx
> >>>>>          $ . /etc/profile.d/bash_completion.sh |& tee
> >>>>> /tmp/completion.log | less
> >>>>>
> >>>>> to see what they are doing that might affect other settings.
> >>>> Thanks, but ~ changes from xx01m to xx01mkf (which is correct) between
> >>>> a few commands in .bashrc:
> >>>>
> >>>> If I add:
> >>>>
> >>>> . ~/.git-completion.bash
> >>>> if [ ! $? = 0 ] ; then
> >>>>    echo "HOME=" $HOME
> >>>>    echo "~=" ~
> >>>>    echo "~/.git-completion.bash=" ~/.git-completion.bash
> >>>> fi
> >>>>
> >>>> I see (*sometimes*):
> >>>>
> >>>> -bash: /home/xx00m/.git-completion.bash: No such file or directory
> >>>> <<<wrong
> >>>> HOME= /home/xx00mkf
> >>>> ~= /home/xx00mkf <<<correct
> >>>> ~/.git-completion.bash= /home/xx00mkf/.git-completion.bash <<<correct
> >>> Well then you have to trace and debug those commands run from your .bashrc
> >>> where
> >>> ~ changes, perhaps using bashdb?
> >> I really don't know how I can debug this?
> >>
> >> With this:
> >>
> >> . ~/.git-completion.bash
> >>
> >> ~ is *sometimes* expanded wrongly:
> >>
> >> With this:
> >>
> >> while [ ! ~ = $HOME ] ; do
> >>    echo "$0: !!! ~ =! \$HOME" >&2
> >> done
> >> . ~/.git-completion.bash
> >>
> >> I *sometimes* see an endless loop.
> >>
> >> With this:
> >>
> >> while [ ! ~ = $HOME ] ; do
> >>    echo "$0: !!! ~ =! \$HOME" ~ $HOME >&2
> >> done
> >> . ~/.git-completion.bash
> >>
> >> I see no error.
> >>
> >> I have a script that I run under mintty. The script starts tmux, with
> >> some panes. I see the error *sometimes* in *some* panes (not the same
> >> every time).
> >>
> >> /Morten
> >> --
> >> Problem reports:      https://cygwin.com/problems.html
> >> FAQ:                  https://cygwin.com/faq/
> >> Documentation:        https://cygwin.com/docs.html
> >> Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple
> >>
> > I've had funky results from time  to time on  ~ expansion in cygwin
> > bash. usually it works fine. But sometimes one of the terminal windows
> > gets into a state where ~ becomes something that isn't all that
> > intelligible and breaks scripts. I forget if starting a new terminal
> > fixes it - usually I just quit using ~ until I end up rebooting. Never
> > really tracked it down.
> It's sufficient to start a new bash (exec bash) to recover. I have the
> effect that sometimes (rarely) ~ flips to become /home/$USER on one
> system where $HOME is configured to be somewhere else.
> I once tried to track it down in bash source, without success so far.
> Yet I suspect it's a bash bug.
> Thomas
Ok. I have not seen problems with $HOME, so I will use that from now
on, and forget ~
Thanks.

  reply	other threads:[~2020-08-28  6:29 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-24  8:05 Morten Kjærulff
2020-08-24  9:50 ` Thomas Wolff
2020-08-24 12:36   ` Morten Kjærulff
2020-08-24 20:39     ` Brian Inglis
2020-08-25  7:15       ` Morten Kjærulff
2020-08-25 12:58         ` Brian Inglis
2020-08-27  7:44           ` Morten Kjærulff
2020-08-27 16:49             ` rifter
2020-08-27 17:56               ` Thomas Wolff
2020-08-28  6:29                 ` Morten Kjærulff [this message]
2020-08-27 17:54             ` Jim Garrison

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CA+7cx1rmptQ+d9_VanhrNLYSm+J80iq5=fwqRYSmyY2UnWwKZw@mail.gmail.com' \
    --to=mortenkjarulff@gmail.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).