From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) by sourceware.org (Postfix) with ESMTPS id 759BC3857C57 for ; Fri, 28 Aug 2020 06:29:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 759BC3857C57 Received: by mail-ej1-x62d.google.com with SMTP id j25so28368ejk.9 for ; Thu, 27 Aug 2020 23:29:59 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-transfer-encoding; bh=B69RRGIwMN2RcJmAXM3vbkO+//VR24Cu651fmuhsSko=; b=Urc4/oddicwCrATcEmYxrXyA1XXySEm5AV7xpkaDAbdbXxWCL/gl+mMwdvc3+zdZL6 SWJ9vnJGrvMEyjdJihUlPKkznQuPejbds3TfGuwOQGcWpY0nio/iMKeUtI2RSukwGxdj kBDgOu5x7tCjbDvKV110rby+eOFIx15yfunoJA097/3QpP5ENltOwbwV+jMQacQiOkzO FBesUTPGFnMNoQfE2VZYN5sjd6piOd810m9Y8UnHguifiCVlqmVXgVzQIv5NkYortXVO znZ1oERoZrgE+H7C3sr4u1+Z2oYG8dwWnvxMciN9x+eouqv71fILk2RAY2HvK+dmmcrx Jqnw== X-Gm-Message-State: AOAM533m/26PHi/jDuHMLS2AqHUaqATbQU9WEBX3mVZdLFZWW8tLixr1 n+Me/ZerOBmsP8JWl1XqNpD5GnWhybd3rJWY66zExvPx X-Google-Smtp-Source: ABdhPJzPji71dFQkjiuxb8lh10EYkRm+nSrDkvRPlFG8g3YzywgMn37sTkJX1hipyhoSA4TSJ53QI2SFeFdmmcN5Xmk= X-Received: by 2002:a17:906:710b:: with SMTP id x11mr272902ejj.546.1598596198272; Thu, 27 Aug 2020 23:29:58 -0700 (PDT) MIME-Version: 1.0 References: <83c5ffc2-02ac-e38e-6e8c-9963ac15b62d@towo.net> <6b79f1aa-04ef-99ce-443e-08fe475f5948@SystematicSw.ab.ca> <0069ab6d-7cb9-ba04-c617-5047ae3ded32@SystematicSw.ab.ca> <7b4498d5-f59b-9582-7319-328e627c5cce@towo.net> In-Reply-To: <7b4498d5-f59b-9582-7319-328e627c5cce@towo.net> From: =?UTF-8?Q?Morten_Kj=C3=A6rulff?= Date: Fri, 28 Aug 2020 08:29:47 +0200 Message-ID: Subject: Re: Wrong expansion of ~/ To: cygwin@cygwin.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 Aug 2020 06:30:01 -0000 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=C3=A6rulff via Cygwin wrote: > >> On Tue, Aug 25, 2020 at 3:00 PM Brian Inglis wrote: > >>> On 2020-08-25 01:15, Morten Kj=C3=A6rulff via Cygwin wrote: > >>>> On Mon, Aug 24, 2020 at 10:41 PM Brian Inglis wrote: > >>>>> On 2020-08-24 06:36, Morten Kj=C3=A6rulff 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=C3=A6rulff 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 direct= ory > >>>>>>>> -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 [ ! $? =3D 0 ] ; then > >>>>>> echo "HOME=3D" $HOME > >>>>>> echo "~=3D" ~ > >>>>>> fi > >>>>>> > >>>>>> I see: > >>>>>> > >>>>>> -bash: /home/xx00m/.git-completion.bash: No such file or directory > >>>>>> HOME=3D /home/xx00mkf > >>>>>> ~=3D /home/xx00m > >>>>>> > >>>>>> > >>>>>> If I add: > >>>>>> > >>>>>> . ~/.git-completion.bash > >>>>>> if [ ! $? =3D 0 ] ; then > >>>>>> echo "HOME=3D" $HOME > >>>>>> echo "~=3D" ~ > >>>>>> echo "~/.git-completion.bash=3D" ~/.git-completion.bash > >>>>>> fi > >>>>>> > >>>>>> -bash: /home/xx00m/.git-completion.bash: No such file or directory > >>>>>> HOME=3D /home/xx00mkf > >>>>>> ~=3D /home/xx00mkf > >>>>>> ~/.git-completion.bash=3D /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 entr= ies; > >>>>> > >>>>> your SAM and/or AD entry contents including e.g. > >>>>> > >>>>> $ net user $USER | grep '^Comment' > >>>>> Comment > >>>>> > >>>>> 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) betwe= en > >>>> a few commands in .bashrc: > >>>> > >>>> If I add: > >>>> > >>>> . ~/.git-completion.bash > >>>> if [ ! $? =3D 0 ] ; then > >>>> echo "HOME=3D" $HOME > >>>> echo "~=3D" ~ > >>>> echo "~/.git-completion.bash=3D" ~/.git-completion.bash > >>>> fi > >>>> > >>>> I see (*sometimes*): > >>>> > >>>> -bash: /home/xx00m/.git-completion.bash: No such file or directory > >>>> << >>>> HOME=3D /home/xx00mkf > >>>> ~=3D /home/xx00mkf << >>>> ~/.git-completion.bash=3D /home/xx00mkf/.git-completion.bash << >>> Well then you have to trace and debug those commands run from your .b= ashrc > >>> 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 [ ! ~ =3D $HOME ] ; do > >> echo "$0: !!! ~ =3D! \$HOME" >&2 > >> done > >> . ~/.git-completion.bash > >> > >> I *sometimes* see an endless loop. > >> > >> With this: > >> > >> while [ ! ~ =3D $HOME ] ; do > >> echo "$0: !!! ~ =3D! \$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.