On 07/09/23 15:50, Greg Wooledge wrote:
On Thu, Sep 07, 2023 at 03:46:23PM +0200, Gioele Barabucci wrote:
On 07/09/23 15:00, alex xmb ratchev wrote:
u have to \[ esc-seq \]
eg inside \[ and \]

PS1=$'\u\[\e[1m\]\h\[\e[0m- '

should display hostname bold

Thanks for the suggestion, but adding \] does not really fix the problem, it
just masks it in many cases (better than nothing).

The \[ \] wrappings are required.  They're not "masking" the problem.
Your prompt is literally set incorrectly without them.

Agreed that \] is required. With "masking" I mean that the use of \] prevents the problem I'm referring to from showing up easily. But the problem is still there even when \] is used.

The following snippet shows that, even with the final \], Bash produces the same erroneous output and miscalculates the cursor position (it just needs a longer prompt):

    $ long_name="$(printf 'abcdef0123456789/%.0s' {0..20})"
    $ mkdir -p /tmp/$long_name
    $ cd /tmp/$long_name
    $ PS1=$'\n\[\e[1m\]\w\[\e[m\] \$ '

    Now press the up arrow, then the down arrow)

Regards,

--
Gioele Barabucci

Reply via email to