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
Can a PC attack themselves with an unarmed strike?
How is the return type of a ternary operator determined?
Why can I log in to my Facebook account with a misspelled email/password?
Does this smartphone photo show Mars just below the Sun?
Non-OR journals which regularly publish OR research
Infeasibility in mathematical optimization models
Can ads on a page read my password?
Word or idiom defining something barely functional
Why are the inside diameters of some pipe larger than the stated size?
Scripting a Maintenance Plan in SQL Server Express
Finish the Mastermind
What can make Linux unresponsive for minutes when browsing certain websites?
If there were no space agencies, could a person go to space?
Should I take out a personal loan to pay off credit card debt?
Looking for a new job because of relocation - is it okay to tell the real reason?
Is it really ~648.69 km/s Delta-V to "Land" on the Surface of the Sun?
Where is the rule for moving slowly when searching for traps that’s referenced by Dungeon Delver?
Did silent film actors actually say their lines or did they simply improvise “dialogue” while being filmed?
Is this cheap "air conditioner" able to cool a room?
Is there a loss of quality when converting RGB to HEX?
How would I as a DM create a smart phone-like spell/device my players could use?
How to help new students accept function notation
Unexpected route on a flight from USA to Europe
WordCloud: do not eliminate duplicates
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 8 hours ago
user938271user938271
2861 gold badge2 silver badges10 bronze badges
2861 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
6 hours ago
@user938271 Correct, the issue reproduced for me at 20 characters, info added to the answer, thanks.
– Isaac
6 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
6 hours ago
@user938271 Correct, the issue reproduced for me at 20 characters, info added to the answer, thanks.
– Isaac
6 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
6 hours ago
@user938271 Correct, the issue reproduced for me at 20 characters, info added to the answer, thanks.
– Isaac
6 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 6 hours ago
answered 8 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
6 hours ago
@user938271 Correct, the issue reproduced for me at 20 characters, info added to the answer, thanks.
– Isaac
6 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
6 hours ago
@user938271 Correct, the issue reproduced for me at 20 characters, info added to the answer, thanks.
– Isaac
6 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
6 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
6 hours ago
@user938271 Correct, the issue reproduced for me at 20 characters, info added to the answer, thanks.
– Isaac
6 hours ago
@user938271 Correct, the issue reproduced for me at 20 characters, info added to the answer, thanks.
– Isaac
6 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