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. -- 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