fc built in missing from dash ( i.e.,dash shell history doesn't work )?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP








up vote
4
down vote

favorite












In dash manual, under Builtins section there exists explanation on fc built in which controls shell history and re-executes commands from it, FCEDIT and HISTSIZE also are mentioned there. Yet when I try to execute it dash gives command not found error.



$ echo one
one
$ fc -l 1
dash: 2: fc: not found
$ fc
dash: 3: fc: not found


Question is, why ? Is it one of the standard and conscious choices that Ubuntu developers made or I may need to enable fc somehow ?



I have found Debian bug report that mentions fc, but the patch mentioned there is for i386 and last activity on the report has been in 2008, so nothing regarding Ubuntu so far. And historically, fc has had fixes and exists in versions for different BSD releases, so there's gotta be something Ubuntu-specific or Debian-specific here.







share|improve this question


























    up vote
    4
    down vote

    favorite












    In dash manual, under Builtins section there exists explanation on fc built in which controls shell history and re-executes commands from it, FCEDIT and HISTSIZE also are mentioned there. Yet when I try to execute it dash gives command not found error.



    $ echo one
    one
    $ fc -l 1
    dash: 2: fc: not found
    $ fc
    dash: 3: fc: not found


    Question is, why ? Is it one of the standard and conscious choices that Ubuntu developers made or I may need to enable fc somehow ?



    I have found Debian bug report that mentions fc, but the patch mentioned there is for i386 and last activity on the report has been in 2008, so nothing regarding Ubuntu so far. And historically, fc has had fixes and exists in versions for different BSD releases, so there's gotta be something Ubuntu-specific or Debian-specific here.







    share|improve this question
























      up vote
      4
      down vote

      favorite









      up vote
      4
      down vote

      favorite











      In dash manual, under Builtins section there exists explanation on fc built in which controls shell history and re-executes commands from it, FCEDIT and HISTSIZE also are mentioned there. Yet when I try to execute it dash gives command not found error.



      $ echo one
      one
      $ fc -l 1
      dash: 2: fc: not found
      $ fc
      dash: 3: fc: not found


      Question is, why ? Is it one of the standard and conscious choices that Ubuntu developers made or I may need to enable fc somehow ?



      I have found Debian bug report that mentions fc, but the patch mentioned there is for i386 and last activity on the report has been in 2008, so nothing regarding Ubuntu so far. And historically, fc has had fixes and exists in versions for different BSD releases, so there's gotta be something Ubuntu-specific or Debian-specific here.







      share|improve this question














      In dash manual, under Builtins section there exists explanation on fc built in which controls shell history and re-executes commands from it, FCEDIT and HISTSIZE also are mentioned there. Yet when I try to execute it dash gives command not found error.



      $ echo one
      one
      $ fc -l 1
      dash: 2: fc: not found
      $ fc
      dash: 3: fc: not found


      Question is, why ? Is it one of the standard and conscious choices that Ubuntu developers made or I may need to enable fc somehow ?



      I have found Debian bug report that mentions fc, but the patch mentioned there is for i386 and last activity on the report has been in 2008, so nothing regarding Ubuntu so far. And historically, fc has had fixes and exists in versions for different BSD releases, so there's gotta be something Ubuntu-specific or Debian-specific here.









      share|improve this question













      share|improve this question




      share|improve this question








      edited Apr 21 at 18:36

























      asked Apr 21 at 18:15









      Sergiy Kolodyazhnyy

      64.9k9129282




      64.9k9129282




















          1 Answer
          1






          active

          oldest

          votes

















          up vote
          3
          down vote



          accepted










          Check line number 57-59 in src/builtins.def.in of the dash source code:



          #ifndef SMALL
          histcmd -u fc
          #endif


          SMALL is defined if --with-libedit is not set in configure, which is the case for our dash/sh. I guess it's about optimzing the memory footprint.



          Also Changelog says:



          2005-10-29 Herbert Xu <herbert@gondor.apana.org.au>
          [...]
          * Disable histcmd completely when SMALL is defined.
          [...]


          If not compiling with --with-libedit was a deliberate choice or not is beyond my knowledge.






          share|improve this answer






















          • You're right. Apparently, --with-libedit strips out whole lot of features that rely on it. It kinda goes back to my older question askubuntu.com/a/704719/295286 Kinda becomes predictable :)
            – Sergiy Kolodyazhnyy
            Apr 21 at 19:02










          • To put it differently: Poor ubuntu dash is crippled, bound to just serve as /bin/sh. I admit a package with a full version of dash would be nice to have in addition.
            – Sebastian Stark
            Apr 21 at 19:07










          • Yeah, agreed. And frankly, I think it's even more restricted than POSIX /bin/sh. I can see advantage in speed for older hardware, but we're kinda in 2018 already, and keeping /bin/sh doesn't provide that much speed up. Taking advantage of newer hardware with multicore processors seems to be better.
            – Sergiy Kolodyazhnyy
            Apr 21 at 19:11










          Your Answer







          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "89"
          ;
          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',
          convertImagesToLinks: true,
          noModals: false,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1027012%2ffc-built-in-missing-from-dash-i-e-dash-shell-history-doesnt-work%23new-answer', 'question_page');

          );

          Post as a guest






























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          3
          down vote



          accepted










          Check line number 57-59 in src/builtins.def.in of the dash source code:



          #ifndef SMALL
          histcmd -u fc
          #endif


          SMALL is defined if --with-libedit is not set in configure, which is the case for our dash/sh. I guess it's about optimzing the memory footprint.



          Also Changelog says:



          2005-10-29 Herbert Xu <herbert@gondor.apana.org.au>
          [...]
          * Disable histcmd completely when SMALL is defined.
          [...]


          If not compiling with --with-libedit was a deliberate choice or not is beyond my knowledge.






          share|improve this answer






















          • You're right. Apparently, --with-libedit strips out whole lot of features that rely on it. It kinda goes back to my older question askubuntu.com/a/704719/295286 Kinda becomes predictable :)
            – Sergiy Kolodyazhnyy
            Apr 21 at 19:02










          • To put it differently: Poor ubuntu dash is crippled, bound to just serve as /bin/sh. I admit a package with a full version of dash would be nice to have in addition.
            – Sebastian Stark
            Apr 21 at 19:07










          • Yeah, agreed. And frankly, I think it's even more restricted than POSIX /bin/sh. I can see advantage in speed for older hardware, but we're kinda in 2018 already, and keeping /bin/sh doesn't provide that much speed up. Taking advantage of newer hardware with multicore processors seems to be better.
            – Sergiy Kolodyazhnyy
            Apr 21 at 19:11














          up vote
          3
          down vote



          accepted










          Check line number 57-59 in src/builtins.def.in of the dash source code:



          #ifndef SMALL
          histcmd -u fc
          #endif


          SMALL is defined if --with-libedit is not set in configure, which is the case for our dash/sh. I guess it's about optimzing the memory footprint.



          Also Changelog says:



          2005-10-29 Herbert Xu <herbert@gondor.apana.org.au>
          [...]
          * Disable histcmd completely when SMALL is defined.
          [...]


          If not compiling with --with-libedit was a deliberate choice or not is beyond my knowledge.






          share|improve this answer






















          • You're right. Apparently, --with-libedit strips out whole lot of features that rely on it. It kinda goes back to my older question askubuntu.com/a/704719/295286 Kinda becomes predictable :)
            – Sergiy Kolodyazhnyy
            Apr 21 at 19:02










          • To put it differently: Poor ubuntu dash is crippled, bound to just serve as /bin/sh. I admit a package with a full version of dash would be nice to have in addition.
            – Sebastian Stark
            Apr 21 at 19:07










          • Yeah, agreed. And frankly, I think it's even more restricted than POSIX /bin/sh. I can see advantage in speed for older hardware, but we're kinda in 2018 already, and keeping /bin/sh doesn't provide that much speed up. Taking advantage of newer hardware with multicore processors seems to be better.
            – Sergiy Kolodyazhnyy
            Apr 21 at 19:11












          up vote
          3
          down vote



          accepted







          up vote
          3
          down vote



          accepted






          Check line number 57-59 in src/builtins.def.in of the dash source code:



          #ifndef SMALL
          histcmd -u fc
          #endif


          SMALL is defined if --with-libedit is not set in configure, which is the case for our dash/sh. I guess it's about optimzing the memory footprint.



          Also Changelog says:



          2005-10-29 Herbert Xu <herbert@gondor.apana.org.au>
          [...]
          * Disable histcmd completely when SMALL is defined.
          [...]


          If not compiling with --with-libedit was a deliberate choice or not is beyond my knowledge.






          share|improve this answer














          Check line number 57-59 in src/builtins.def.in of the dash source code:



          #ifndef SMALL
          histcmd -u fc
          #endif


          SMALL is defined if --with-libedit is not set in configure, which is the case for our dash/sh. I guess it's about optimzing the memory footprint.



          Also Changelog says:



          2005-10-29 Herbert Xu <herbert@gondor.apana.org.au>
          [...]
          * Disable histcmd completely when SMALL is defined.
          [...]


          If not compiling with --with-libedit was a deliberate choice or not is beyond my knowledge.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited Apr 21 at 18:55

























          answered Apr 21 at 18:48









          Sebastian Stark

          4,703938




          4,703938











          • You're right. Apparently, --with-libedit strips out whole lot of features that rely on it. It kinda goes back to my older question askubuntu.com/a/704719/295286 Kinda becomes predictable :)
            – Sergiy Kolodyazhnyy
            Apr 21 at 19:02










          • To put it differently: Poor ubuntu dash is crippled, bound to just serve as /bin/sh. I admit a package with a full version of dash would be nice to have in addition.
            – Sebastian Stark
            Apr 21 at 19:07










          • Yeah, agreed. And frankly, I think it's even more restricted than POSIX /bin/sh. I can see advantage in speed for older hardware, but we're kinda in 2018 already, and keeping /bin/sh doesn't provide that much speed up. Taking advantage of newer hardware with multicore processors seems to be better.
            – Sergiy Kolodyazhnyy
            Apr 21 at 19:11
















          • You're right. Apparently, --with-libedit strips out whole lot of features that rely on it. It kinda goes back to my older question askubuntu.com/a/704719/295286 Kinda becomes predictable :)
            – Sergiy Kolodyazhnyy
            Apr 21 at 19:02










          • To put it differently: Poor ubuntu dash is crippled, bound to just serve as /bin/sh. I admit a package with a full version of dash would be nice to have in addition.
            – Sebastian Stark
            Apr 21 at 19:07










          • Yeah, agreed. And frankly, I think it's even more restricted than POSIX /bin/sh. I can see advantage in speed for older hardware, but we're kinda in 2018 already, and keeping /bin/sh doesn't provide that much speed up. Taking advantage of newer hardware with multicore processors seems to be better.
            – Sergiy Kolodyazhnyy
            Apr 21 at 19:11















          You're right. Apparently, --with-libedit strips out whole lot of features that rely on it. It kinda goes back to my older question askubuntu.com/a/704719/295286 Kinda becomes predictable :)
          – Sergiy Kolodyazhnyy
          Apr 21 at 19:02




          You're right. Apparently, --with-libedit strips out whole lot of features that rely on it. It kinda goes back to my older question askubuntu.com/a/704719/295286 Kinda becomes predictable :)
          – Sergiy Kolodyazhnyy
          Apr 21 at 19:02












          To put it differently: Poor ubuntu dash is crippled, bound to just serve as /bin/sh. I admit a package with a full version of dash would be nice to have in addition.
          – Sebastian Stark
          Apr 21 at 19:07




          To put it differently: Poor ubuntu dash is crippled, bound to just serve as /bin/sh. I admit a package with a full version of dash would be nice to have in addition.
          – Sebastian Stark
          Apr 21 at 19:07












          Yeah, agreed. And frankly, I think it's even more restricted than POSIX /bin/sh. I can see advantage in speed for older hardware, but we're kinda in 2018 already, and keeping /bin/sh doesn't provide that much speed up. Taking advantage of newer hardware with multicore processors seems to be better.
          – Sergiy Kolodyazhnyy
          Apr 21 at 19:11




          Yeah, agreed. And frankly, I think it's even more restricted than POSIX /bin/sh. I can see advantage in speed for older hardware, but we're kinda in 2018 already, and keeping /bin/sh doesn't provide that much speed up. Taking advantage of newer hardware with multicore processors seems to be better.
          – Sergiy Kolodyazhnyy
          Apr 21 at 19:11

















           

          draft saved


          draft discarded















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1027012%2ffc-built-in-missing-from-dash-i-e-dash-shell-history-doesnt-work%23new-answer', 'question_page');

          );

          Post as a guest













































































          Popular posts from this blog

          pylint3 and pip3 broken

          Missing snmpget and snmpwalk

          How to enroll fingerprints to Ubuntu 17.10 with VFS491