Why do I need to insert 12 characters to clear this bash command-line?^C characters at start of line break bash command editingWhy does SPACE sometimes not work with more (or less)Control-p freezes SSH sessionPasting some text with tabs into a here-document in a PuTTY windowRedirect console output in sed in background process don't give back handInsert empty line between command line promptsWhy does this Bash script to print command line arguments not work?BASH loops, counters, child processes; counter not workingCompletely Clear command prompt through bashBash: How to delete characters from line
Did silent film actors actually say their lines or did they simply improvise “dialogue” while being filmed?
Our group keeps dying during the Lost Mine of Phandelver campaign. What are we doing wrong?
Where is the rule for moving slowly when searching for traps that’s referenced by Dungeon Delver?
How does the oscilloscope trigger really work?
Word or idiom defining something barely functional
How to help new students accept function notation
How can I tell if a flight itinerary is fake
Is this cheap "air conditioner" able to cool a room?
Does the United States guarantee any unique freedoms?
Look mom! I made my own (Base 10) numeral system!
Why is there a need to prevent a racist, sexist, or otherwise bigoted vendor from discriminating who they sell to?
English - Acceptable use of parentheses in an author's name
Looking for a new job because of relocation - is it okay to tell the real reason?
Decode a variable-length quantity
WordCloud: do not eliminate duplicates
How to realistically deal with a shield user?
How can glass marbles naturally occur in a desert?
Is it true that control+alt+delete only became a thing because IBM would not build Bill Gates a computer with a task manager button?
Secure my password from unsafe servers
Why do private jets such as Gulfstream fly higher than other civilian jets?
Need help understanding lens reach
Short story about a teenager who has his brain replaced with a microchip (Psychological Horror)
Does it make sense to occupy open space?
Could one become a successful researcher by writing some really good papers while being outside academia?
Why do I need to insert 12 characters to clear this bash command-line?
^C characters at start of line break bash command editingWhy does SPACE sometimes not work with more (or less)Control-p freezes SSH sessionPasting some text with tabs into a here-document in a PuTTY windowRedirect console output in sed in background process don't give back handInsert empty line between command line promptsWhy does this Bash script to print command line arguments not work?BASH loops, counters, child processes; counter not workingCompletely Clear command prompt through bashBash: How to delete characters from line
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I open an xterm terminal (80 columns x 24 lines), then run $ bash --norc --noprofile
, and then $ tty
to get the file name of the terminal: the output is /dev/pts/9
.
From another terminal I run:
$ printf foo >/dev/pts/9
foo
is printed on the shell command-line in the first terminal.
If I press C-u
to run unix-line-discard
(name of the function given by $ bind -P | grep -i c-u
), foo
is not removed.
If I insert 11 spaces and press C-u
, the spaces are removed but not foo
.
If I insert 12 spaces and press C-u
, the spaces are removed as well as foo
.
Why can't I remove foo
when I press C-u
while my cursor is right after it, and why do I need to insert 12 characters to remove it?
Environment:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial
$ bash --version | head -n1
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
$ xterm -version
XTerm(322)
bash terminal-emulator
add a comment |
I open an xterm terminal (80 columns x 24 lines), then run $ bash --norc --noprofile
, and then $ tty
to get the file name of the terminal: the output is /dev/pts/9
.
From another terminal I run:
$ printf foo >/dev/pts/9
foo
is printed on the shell command-line in the first terminal.
If I press C-u
to run unix-line-discard
(name of the function given by $ bind -P | grep -i c-u
), foo
is not removed.
If I insert 11 spaces and press C-u
, the spaces are removed but not foo
.
If I insert 12 spaces and press C-u
, the spaces are removed as well as foo
.
Why can't I remove foo
when I press C-u
while my cursor is right after it, and why do I need to insert 12 characters to remove it?
Environment:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial
$ bash --version | head -n1
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
$ xterm -version
XTerm(322)
bash terminal-emulator
add a comment |
I open an xterm terminal (80 columns x 24 lines), then run $ bash --norc --noprofile
, and then $ tty
to get the file name of the terminal: the output is /dev/pts/9
.
From another terminal I run:
$ printf foo >/dev/pts/9
foo
is printed on the shell command-line in the first terminal.
If I press C-u
to run unix-line-discard
(name of the function given by $ bind -P | grep -i c-u
), foo
is not removed.
If I insert 11 spaces and press C-u
, the spaces are removed but not foo
.
If I insert 12 spaces and press C-u
, the spaces are removed as well as foo
.
Why can't I remove foo
when I press C-u
while my cursor is right after it, and why do I need to insert 12 characters to remove it?
Environment:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial
$ bash --version | head -n1
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
$ xterm -version
XTerm(322)
bash terminal-emulator
I open an xterm terminal (80 columns x 24 lines), then run $ bash --norc --noprofile
, and then $ tty
to get the file name of the terminal: the output is /dev/pts/9
.
From another terminal I run:
$ printf foo >/dev/pts/9
foo
is printed on the shell command-line in the first terminal.
If I press C-u
to run unix-line-discard
(name of the function given by $ bind -P | grep -i c-u
), foo
is not removed.
If I insert 11 spaces and press C-u
, the spaces are removed but not foo
.
If I insert 12 spaces and press C-u
, the spaces are removed as well as foo
.
Why can't I remove foo
when I press C-u
while my cursor is right after it, and why do I need to insert 12 characters to remove it?
Environment:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial
$ bash --version | head -n1
GNU bash, version 4.3.48(1)-release (x86_64-pc-linux-gnu)
$ xterm -version
XTerm(322)
bash terminal-emulator
bash terminal-emulator
asked 9 hours ago
user938271user938271
2911 gold badge2 silver badges10 bronze badges
2911 gold badge2 silver badges10 bronze badges
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
When some other program prints foo
to the /dev/pts/9
the communication is between ttys, the shell doesn't participate in the exchange, it can not be aware of how many characters were printed or even if any character was printed. The shell is still believing that there are no characters to erase. In fact, if you print foo
to the terminal and try to erase it with backspace it doesn't work. The shell doesn't try to erase what it believes that is not there.
Try in the terminal where you used the --norc --noprofile command:
bash-4.3$ printf 'some text'
to get:
some textbash-4.3$
At that point the backspace won't erase anything. Also the ctrl-u
will not erase anything. If you type some characters (up to 11 of them) ctrl-u
will remove only what was typed (as does backspace). But when there are more than 11 characters, the command ctrl-u
will go back to what it believes its the beginning of the line (a faster way to erase many characters) which will leave this prompt:
some textb
That could be considered a bug IMO (still present in bash 5.0). But changes to 20 (18 for the OP) characters in bash-5 if the --norc
--noprofile
options are not used (I have not tried to find the reason, not such an important issue IMnshO).
Thank you for the answer. Regarding the second bug, with$ printf 'some text'
, I can reproduce on bash 5.0 without--norc --noprofile
if I insert 17 characters or more.
– user938271
7 hours ago
@user938271 Correct, the issue reproduced for me at 20 characters, info added to the answer, thanks.
– Isaac
7 hours ago
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "106"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
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%2funix.stackexchange.com%2fquestions%2f534628%2fwhy-do-i-need-to-insert-12-characters-to-clear-this-bash-command-line%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
When some other program prints foo
to the /dev/pts/9
the communication is between ttys, the shell doesn't participate in the exchange, it can not be aware of how many characters were printed or even if any character was printed. The shell is still believing that there are no characters to erase. In fact, if you print foo
to the terminal and try to erase it with backspace it doesn't work. The shell doesn't try to erase what it believes that is not there.
Try in the terminal where you used the --norc --noprofile command:
bash-4.3$ printf 'some text'
to get:
some textbash-4.3$
At that point the backspace won't erase anything. Also the ctrl-u
will not erase anything. If you type some characters (up to 11 of them) ctrl-u
will remove only what was typed (as does backspace). But when there are more than 11 characters, the command ctrl-u
will go back to what it believes its the beginning of the line (a faster way to erase many characters) which will leave this prompt:
some textb
That could be considered a bug IMO (still present in bash 5.0). But changes to 20 (18 for the OP) characters in bash-5 if the --norc
--noprofile
options are not used (I have not tried to find the reason, not such an important issue IMnshO).
Thank you for the answer. Regarding the second bug, with$ printf 'some text'
, I can reproduce on bash 5.0 without--norc --noprofile
if I insert 17 characters or more.
– user938271
7 hours ago
@user938271 Correct, the issue reproduced for me at 20 characters, info added to the answer, thanks.
– Isaac
7 hours ago
add a comment |
When some other program prints foo
to the /dev/pts/9
the communication is between ttys, the shell doesn't participate in the exchange, it can not be aware of how many characters were printed or even if any character was printed. The shell is still believing that there are no characters to erase. In fact, if you print foo
to the terminal and try to erase it with backspace it doesn't work. The shell doesn't try to erase what it believes that is not there.
Try in the terminal where you used the --norc --noprofile command:
bash-4.3$ printf 'some text'
to get:
some textbash-4.3$
At that point the backspace won't erase anything. Also the ctrl-u
will not erase anything. If you type some characters (up to 11 of them) ctrl-u
will remove only what was typed (as does backspace). But when there are more than 11 characters, the command ctrl-u
will go back to what it believes its the beginning of the line (a faster way to erase many characters) which will leave this prompt:
some textb
That could be considered a bug IMO (still present in bash 5.0). But changes to 20 (18 for the OP) characters in bash-5 if the --norc
--noprofile
options are not used (I have not tried to find the reason, not such an important issue IMnshO).
Thank you for the answer. Regarding the second bug, with$ printf 'some text'
, I can reproduce on bash 5.0 without--norc --noprofile
if I insert 17 characters or more.
– user938271
7 hours ago
@user938271 Correct, the issue reproduced for me at 20 characters, info added to the answer, thanks.
– Isaac
7 hours ago
add a comment |
When some other program prints foo
to the /dev/pts/9
the communication is between ttys, the shell doesn't participate in the exchange, it can not be aware of how many characters were printed or even if any character was printed. The shell is still believing that there are no characters to erase. In fact, if you print foo
to the terminal and try to erase it with backspace it doesn't work. The shell doesn't try to erase what it believes that is not there.
Try in the terminal where you used the --norc --noprofile command:
bash-4.3$ printf 'some text'
to get:
some textbash-4.3$
At that point the backspace won't erase anything. Also the ctrl-u
will not erase anything. If you type some characters (up to 11 of them) ctrl-u
will remove only what was typed (as does backspace). But when there are more than 11 characters, the command ctrl-u
will go back to what it believes its the beginning of the line (a faster way to erase many characters) which will leave this prompt:
some textb
That could be considered a bug IMO (still present in bash 5.0). But changes to 20 (18 for the OP) characters in bash-5 if the --norc
--noprofile
options are not used (I have not tried to find the reason, not such an important issue IMnshO).
When some other program prints foo
to the /dev/pts/9
the communication is between ttys, the shell doesn't participate in the exchange, it can not be aware of how many characters were printed or even if any character was printed. The shell is still believing that there are no characters to erase. In fact, if you print foo
to the terminal and try to erase it with backspace it doesn't work. The shell doesn't try to erase what it believes that is not there.
Try in the terminal where you used the --norc --noprofile command:
bash-4.3$ printf 'some text'
to get:
some textbash-4.3$
At that point the backspace won't erase anything. Also the ctrl-u
will not erase anything. If you type some characters (up to 11 of them) ctrl-u
will remove only what was typed (as does backspace). But when there are more than 11 characters, the command ctrl-u
will go back to what it believes its the beginning of the line (a faster way to erase many characters) which will leave this prompt:
some textb
That could be considered a bug IMO (still present in bash 5.0). But changes to 20 (18 for the OP) characters in bash-5 if the --norc
--noprofile
options are not used (I have not tried to find the reason, not such an important issue IMnshO).
edited 7 hours ago
answered 9 hours ago
IsaacIsaac
14.2k1 gold badge22 silver badges61 bronze badges
14.2k1 gold badge22 silver badges61 bronze badges
Thank you for the answer. Regarding the second bug, with$ printf 'some text'
, I can reproduce on bash 5.0 without--norc --noprofile
if I insert 17 characters or more.
– user938271
7 hours ago
@user938271 Correct, the issue reproduced for me at 20 characters, info added to the answer, thanks.
– Isaac
7 hours ago
add a comment |
Thank you for the answer. Regarding the second bug, with$ printf 'some text'
, I can reproduce on bash 5.0 without--norc --noprofile
if I insert 17 characters or more.
– user938271
7 hours ago
@user938271 Correct, the issue reproduced for me at 20 characters, info added to the answer, thanks.
– Isaac
7 hours ago
Thank you for the answer. Regarding the second bug, with
$ printf 'some text'
, I can reproduce on bash 5.0 without --norc --noprofile
if I insert 17 characters or more.– user938271
7 hours ago
Thank you for the answer. Regarding the second bug, with
$ printf 'some text'
, I can reproduce on bash 5.0 without --norc --noprofile
if I insert 17 characters or more.– user938271
7 hours ago
@user938271 Correct, the issue reproduced for me at 20 characters, info added to the answer, thanks.
– Isaac
7 hours ago
@user938271 Correct, the issue reproduced for me at 20 characters, info added to the answer, thanks.
– Isaac
7 hours ago
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- 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%2funix.stackexchange.com%2fquestions%2f534628%2fwhy-do-i-need-to-insert-12-characters-to-clear-this-bash-command-line%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