What's wrong with this PS1-Prompt?
up vote
2
down vote
favorite
I was styling my PS1-Prompt to resemble the iPython-Prompt as:
PS1FIRSTLINE="[n][t] [e[1me[38;5;196m]u@H[e[0m] in [e[1me[38;5;196m]w[e[0m"
PS1SECONDLINE="ne[92m]In [[e[1m]#[e[0m]] $ "
PS1="$PS1FIRSTLINE$PS1SECONDLINE"
However, sometimes i get weird issues like, that the beginning of the last executed command is still there after the prompt and can't be deleted.
I think that it's an issue with my way of escaping the colors with e[ ... ]
and not something with bash or the suckless-terminal, that i'm using.
Can somebody help me out?
command-line bash prompt escape-characters
add a comment |
up vote
2
down vote
favorite
I was styling my PS1-Prompt to resemble the iPython-Prompt as:
PS1FIRSTLINE="[n][t] [e[1me[38;5;196m]u@H[e[0m] in [e[1me[38;5;196m]w[e[0m"
PS1SECONDLINE="ne[92m]In [[e[1m]#[e[0m]] $ "
PS1="$PS1FIRSTLINE$PS1SECONDLINE"
However, sometimes i get weird issues like, that the beginning of the last executed command is still there after the prompt and can't be deleted.
I think that it's an issue with my way of escaping the colors with e[ ... ]
and not something with bash or the suckless-terminal, that i'm using.
Can somebody help me out?
command-line bash prompt escape-characters
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
I was styling my PS1-Prompt to resemble the iPython-Prompt as:
PS1FIRSTLINE="[n][t] [e[1me[38;5;196m]u@H[e[0m] in [e[1me[38;5;196m]w[e[0m"
PS1SECONDLINE="ne[92m]In [[e[1m]#[e[0m]] $ "
PS1="$PS1FIRSTLINE$PS1SECONDLINE"
However, sometimes i get weird issues like, that the beginning of the last executed command is still there after the prompt and can't be deleted.
I think that it's an issue with my way of escaping the colors with e[ ... ]
and not something with bash or the suckless-terminal, that i'm using.
Can somebody help me out?
command-line bash prompt escape-characters
I was styling my PS1-Prompt to resemble the iPython-Prompt as:
PS1FIRSTLINE="[n][t] [e[1me[38;5;196m]u@H[e[0m] in [e[1me[38;5;196m]w[e[0m"
PS1SECONDLINE="ne[92m]In [[e[1m]#[e[0m]] $ "
PS1="$PS1FIRSTLINE$PS1SECONDLINE"
However, sometimes i get weird issues like, that the beginning of the last executed command is still there after the prompt and can't be deleted.
I think that it's an issue with my way of escaping the colors with e[ ... ]
and not something with bash or the suckless-terminal, that i'm using.
Can somebody help me out?
command-line bash prompt escape-characters
command-line bash prompt escape-characters
asked Nov 19 at 11:02
Tim Hilt
2115
2115
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
First see this answer of mine.
It's not immediately clear whether n
should be considered printing or non-printing, or if the division is the same as printable vs. non-printable (like in the context of printable ASCII characters).
When it comes to PS1
, however, I would say n
should be called "printing" because it affects the size of the prompt and this is what matters here. You should put both occurrences of n
outside of [ ]
.
The first n
is explicitly inside [ ]
. The second one (at the beginning of PS1SECONDLINE
) looks like it's not at the first glance, but it is as well. There is an unmatched [
in PS1FIRSTLINE
and when the whole PS1
is created the matching ]
comes from PS1SECONDLINE
.
These are your variables with proper modifications that put n
outside of [ ]
:
PS1FIRSTLINE="n[t] [e[1me[38;5;196m]u@H[e[0m] in [e[1me[38;5;196m]w[e[0m]"
# ^^ deleted embracing [ ] added closing ^^
PS1SECONDLINE="n[e[92m]In [[e[1m]#[e[0m]] $ "
# ^^ added opening
PS1="$PS1FIRSTLINE$PS1SECONDLINE"
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
First see this answer of mine.
It's not immediately clear whether n
should be considered printing or non-printing, or if the division is the same as printable vs. non-printable (like in the context of printable ASCII characters).
When it comes to PS1
, however, I would say n
should be called "printing" because it affects the size of the prompt and this is what matters here. You should put both occurrences of n
outside of [ ]
.
The first n
is explicitly inside [ ]
. The second one (at the beginning of PS1SECONDLINE
) looks like it's not at the first glance, but it is as well. There is an unmatched [
in PS1FIRSTLINE
and when the whole PS1
is created the matching ]
comes from PS1SECONDLINE
.
These are your variables with proper modifications that put n
outside of [ ]
:
PS1FIRSTLINE="n[t] [e[1me[38;5;196m]u@H[e[0m] in [e[1me[38;5;196m]w[e[0m]"
# ^^ deleted embracing [ ] added closing ^^
PS1SECONDLINE="n[e[92m]In [[e[1m]#[e[0m]] $ "
# ^^ added opening
PS1="$PS1FIRSTLINE$PS1SECONDLINE"
add a comment |
up vote
0
down vote
First see this answer of mine.
It's not immediately clear whether n
should be considered printing or non-printing, or if the division is the same as printable vs. non-printable (like in the context of printable ASCII characters).
When it comes to PS1
, however, I would say n
should be called "printing" because it affects the size of the prompt and this is what matters here. You should put both occurrences of n
outside of [ ]
.
The first n
is explicitly inside [ ]
. The second one (at the beginning of PS1SECONDLINE
) looks like it's not at the first glance, but it is as well. There is an unmatched [
in PS1FIRSTLINE
and when the whole PS1
is created the matching ]
comes from PS1SECONDLINE
.
These are your variables with proper modifications that put n
outside of [ ]
:
PS1FIRSTLINE="n[t] [e[1me[38;5;196m]u@H[e[0m] in [e[1me[38;5;196m]w[e[0m]"
# ^^ deleted embracing [ ] added closing ^^
PS1SECONDLINE="n[e[92m]In [[e[1m]#[e[0m]] $ "
# ^^ added opening
PS1="$PS1FIRSTLINE$PS1SECONDLINE"
add a comment |
up vote
0
down vote
up vote
0
down vote
First see this answer of mine.
It's not immediately clear whether n
should be considered printing or non-printing, or if the division is the same as printable vs. non-printable (like in the context of printable ASCII characters).
When it comes to PS1
, however, I would say n
should be called "printing" because it affects the size of the prompt and this is what matters here. You should put both occurrences of n
outside of [ ]
.
The first n
is explicitly inside [ ]
. The second one (at the beginning of PS1SECONDLINE
) looks like it's not at the first glance, but it is as well. There is an unmatched [
in PS1FIRSTLINE
and when the whole PS1
is created the matching ]
comes from PS1SECONDLINE
.
These are your variables with proper modifications that put n
outside of [ ]
:
PS1FIRSTLINE="n[t] [e[1me[38;5;196m]u@H[e[0m] in [e[1me[38;5;196m]w[e[0m]"
# ^^ deleted embracing [ ] added closing ^^
PS1SECONDLINE="n[e[92m]In [[e[1m]#[e[0m]] $ "
# ^^ added opening
PS1="$PS1FIRSTLINE$PS1SECONDLINE"
First see this answer of mine.
It's not immediately clear whether n
should be considered printing or non-printing, or if the division is the same as printable vs. non-printable (like in the context of printable ASCII characters).
When it comes to PS1
, however, I would say n
should be called "printing" because it affects the size of the prompt and this is what matters here. You should put both occurrences of n
outside of [ ]
.
The first n
is explicitly inside [ ]
. The second one (at the beginning of PS1SECONDLINE
) looks like it's not at the first glance, but it is as well. There is an unmatched [
in PS1FIRSTLINE
and when the whole PS1
is created the matching ]
comes from PS1SECONDLINE
.
These are your variables with proper modifications that put n
outside of [ ]
:
PS1FIRSTLINE="n[t] [e[1me[38;5;196m]u@H[e[0m] in [e[1me[38;5;196m]w[e[0m]"
# ^^ deleted embracing [ ] added closing ^^
PS1SECONDLINE="n[e[92m]In [[e[1m]#[e[0m]] $ "
# ^^ added opening
PS1="$PS1FIRSTLINE$PS1SECONDLINE"
answered Nov 22 at 13:59
Kamil Maciorowski
22.8k155072
22.8k155072
add a comment |
add a comment |
Thanks for contributing an answer to Super User!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1376666%2fwhats-wrong-with-this-ps1-prompt%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown