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;








3















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.



enter image description here



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)









share|improve this question






























    3















    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.



    enter image description here



    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)









    share|improve this question


























      3












      3








      3








      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.



      enter image description here



      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)









      share|improve this question














      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.



      enter image description here



      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






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 8 hours ago









      user938271user938271

      2861 gold badge2 silver badges10 bronze badges




      2861 gold badge2 silver badges10 bronze badges























          1 Answer
          1






          active

          oldest

          votes


















          5














          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).






          share|improve this answer



























          • 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













          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
          );



          );













          draft saved

          draft discarded


















          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









          5














          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).






          share|improve this answer



























          • 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















          5














          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).






          share|improve this answer



























          • 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













          5












          5








          5







          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).






          share|improve this answer















          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).







          share|improve this answer














          share|improve this answer



          share|improve this answer








          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

















          • 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

















          draft saved

          draft discarded
















































          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.




          draft saved


          draft discarded














          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





















































          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







          Popular posts from this blog

          ParseJSON using SSJSUsing AMPscript with SSJS ActivitiesHow to resubscribe a user in Marketing cloud using SSJS?Pulling Subscriber Status from Lists using SSJSRetrieving Emails using SSJSProblem in updating DE using SSJSUsing SSJS to send single email in Marketing CloudError adding EmailSendDefinition using SSJS

          Кампала Садржај Географија Географија Историја Становништво Привреда Партнерски градови Референце Спољашње везе Мени за навигацију0°11′ СГШ; 32°20′ ИГД / 0.18° СГШ; 32.34° ИГД / 0.18; 32.340°11′ СГШ; 32°20′ ИГД / 0.18° СГШ; 32.34° ИГД / 0.18; 32.34МедијиПодациЗванични веб-сајту

          19. јануар Садржај Догађаји Рођења Смрти Празници и дани сећања Види још Референце Мени за навигацијуу