Nano fails to open file "~/.bashrc".

Eliot Moss moss@cs.umass.edu
Fri Mar 3 15:53:42 GMT 2023


On 3/3/2023 10:37 AM, Kirill Frolov via Cygwin wrote:
> 
> On 03.03.2023 18:31, Andrey Repin wrote:
>> Greetings, Kirill Frolov!
>>
>> Please avoid top-posting in this list.
>>
>>> On 03.03.2023 15:47, Andrey Repin wrote:
>>>> Greetings, Kirill Frolov!
>>>>
>>>>> When i run nano ~/.bashrc nano opens with   [ Directory '/home/frolo' does not exist ] error.
>>>> Do you run it from bash prompt or from CMD prompt?
>>>>
>>>>> The file opens with cat ~/.bashrc
>>>> Can you please show us the output of
>>>>
>>>> getent passwd "$USER"; mount; cat /etc/nsswitch.conf
>>>>
>>> I run it with F:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -
>> Thanks. TBH, I'm baffled. Your setup looks like standard unaltered one.
>> Diagnostics seems clear, but the last bit remains.
>> What the `which nano` says?
>>
>>> $ getent passwd "$USER"; mount; cat /etc/nsswitch.conf
>>> frolo:*:197609:197121:U-DESKTOP-P57624Q\frolo,S-1-5-21-3636099827-1216969241-2011884586-1001:/home/frolo:/bin/bash
>>> F:/cygwin64/bin on /usr/bin type ntfs (binary,auto)
>>> F:/cygwin64/lib on /usr/lib type ntfs (binary,auto)
>>> F:/cygwin64 on / type ntfs (binary,auto)
>>> C: on /cygdrive/c type ntfs (binary,posix=0,user,noumount,auto)
>>> D: on /cygdrive/d type ntfs (binary,posix=0,user,noumount,auto)
>>> E: on /cygdrive/e type ntfs (binary,posix=0,user,noumount,auto)
>>> F: on /cygdrive/f type ntfs (binary,posix=0,user,noumount,auto)
>>> # /etc/nsswitch.conf
>>> #
>>> #    This file is read once by the first process in a Cygwin process tree.
>>> #    To pick up changes, restart all Cygwin processes.  For a description
>>> #    see https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch
>>> #
>>> # Defaults:
>>> # passwd:   files db
>>> # group:    files db
>>> # db_enum:  cache builtin
>>> # db_home:  /home/%U
>>> # db_shell: /bin/bash
>>> # db_gecos: <empty>
>> $ which nano
>> /cygdrive/c/Program Files/Git/usr/bin/nano

I'll jump in: That does not appear to be Cygwin nano, but some other, Windows-based
nano, which would expect Windows type paths, not Cygwin type paths.  You have (at
least) two options:

- Drop that nano and install the Cygwin one;
- Invoke that nano with a Windows path, perhaps like this:

nano $(cygpath -wa ~/.bashrc)

Personally, I'd go with the first option, since CYgwin nano is more likely to
play nicely with Cygwin files ...

Best wishes - Eliot Moss


More information about the Cygwin mailing list