Alias to source .bashrc after it's been edited?How to fix a .bashrc that's been edited wrongly?Alias that...

Reconstruct a matrix from its traces

How to improve/restore vintage Peugeot bike, or is it even worth it?

What happens to matryoshka Mordenkainen's Magnificent Mansions?

If 1. e4 c6 is considered as a sound defense for black, why is 1. c3 so rare?

Identifying a transmission to myself

How could a planet have most of its water in the atmosphere?

Why is B♯ higher than C♭ in 31-ET?

How do I tell my manager that his code review comment is wrong?

Airbnb - host wants to reduce rooms, can we get refund?

Alias to source .bashrc after it's been edited?

How to give very negative feedback gracefully?

I caught several of my students plagiarizing. Could it be my fault as a teacher?

Is this homebrew life-stealing melee cantrip unbalanced?

Type-check an expression

Was Unix ever a single-user OS?

Accidentally deleted the "/usr/share" folder

What are the spoon bit of a spoon and fork bit of a fork called?

Am I getting DDOS from crawlers?

What word means "to make something obsolete"?

Are we obligated to aspire to be Talmidei Chachamim?

Sub query result is 0

Python password manager

Do I have to make someone coauthor if he/she solves a problem in StackExchange, asked by myself, which is later used in my paper?

Is it cheaper to drop cargo than to land it?



Alias to source .bashrc after it's been edited?


How to fix a .bashrc that's been edited wrongly?Alias that allows to edit ~/.bashrc and then “sources” it automatically - Why it doesn't work?source .bashrc doesn't workHow can I check whether Vim has the -p (tabs) option or not?Alias defined in .bashrc not working after pipeSource new .bashrc in all open terminalsHow to write alias to use first parameter or * if parameter is blank?Making an alias to add key to remote authorized_keys fileUse .bashrc in a detached screenHow to escape this command to add alias in .bashrc?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







1















I would like to add an alias (for convenience sake) that would allow me to edit my bashrc, and if changes were made, source it, but if no changes were made, don't source (in case I changed my mind).



I initially tried alias vb='vi ~/.bashrc && source ~/.bashrc' but then I realized that even just quitting out of vi :q or :q! probably still returns a success return value which is why it still sources.



Is there some way to make an alias such that quitting vi without making any changes to the file doesn't source .bashrc but if something is changed, it does?










share|improve this question







New contributor




psycho9o is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.



























    1















    I would like to add an alias (for convenience sake) that would allow me to edit my bashrc, and if changes were made, source it, but if no changes were made, don't source (in case I changed my mind).



    I initially tried alias vb='vi ~/.bashrc && source ~/.bashrc' but then I realized that even just quitting out of vi :q or :q! probably still returns a success return value which is why it still sources.



    Is there some way to make an alias such that quitting vi without making any changes to the file doesn't source .bashrc but if something is changed, it does?










    share|improve this question







    New contributor




    psycho9o is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.























      1












      1








      1








      I would like to add an alias (for convenience sake) that would allow me to edit my bashrc, and if changes were made, source it, but if no changes were made, don't source (in case I changed my mind).



      I initially tried alias vb='vi ~/.bashrc && source ~/.bashrc' but then I realized that even just quitting out of vi :q or :q! probably still returns a success return value which is why it still sources.



      Is there some way to make an alias such that quitting vi without making any changes to the file doesn't source .bashrc but if something is changed, it does?










      share|improve this question







      New contributor




      psycho9o is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.












      I would like to add an alias (for convenience sake) that would allow me to edit my bashrc, and if changes were made, source it, but if no changes were made, don't source (in case I changed my mind).



      I initially tried alias vb='vi ~/.bashrc && source ~/.bashrc' but then I realized that even just quitting out of vi :q or :q! probably still returns a success return value which is why it still sources.



      Is there some way to make an alias such that quitting vi without making any changes to the file doesn't source .bashrc but if something is changed, it does?







      linux bash vim bashrc bash-alias






      share|improve this question







      New contributor




      psycho9o is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question







      New contributor




      psycho9o is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question






      New contributor




      psycho9o is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 5 hours ago









      psycho9opsycho9o

      61




      61




      New contributor




      psycho9o is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      psycho9o is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      psycho9o is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






















          2 Answers
          2






          active

          oldest

          votes


















          3














          What about:



          alias vb='SUM1=$(md5sum ~/.bashrc) && vi ~/.bashrc && SUM2=$(md5sum ~/.bashrc) && if [ "$SUM1" != "$SUM2" ] ; then source ~/.bashrc ; fi'





          share|improve this answer








          New contributor




          Comar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.




























            2














            How about using a bash function instead of an alias. This works in my tests:




            • Add the following function to ~/.bashrc

            • source ~/.bashrc


            • when you want to change ~/.bashrc type bashmod at the prompt



              function bashmod () {

              pre=$(shasum ~/.bashrc);
              vim mybuf;
              post=$(shasum ~/.bashrc);

              if [ "$pre" = "$post" ]; then
              echo "~/.bashrc unchanged";
              else
              . ~/.bashrc;
              fi
              }







            share|improve this answer
























              Your Answer








              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "3"
              };
              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: true,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: 10,
              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
              });


              }
              });






              psycho9o is a new contributor. Be nice, and check out our Code of Conduct.










              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1431553%2falias-to-source-bashrc-after-its-been-edited%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              2 Answers
              2






              active

              oldest

              votes








              2 Answers
              2






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              3














              What about:



              alias vb='SUM1=$(md5sum ~/.bashrc) && vi ~/.bashrc && SUM2=$(md5sum ~/.bashrc) && if [ "$SUM1" != "$SUM2" ] ; then source ~/.bashrc ; fi'





              share|improve this answer








              New contributor




              Comar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
              Check out our Code of Conduct.

























                3














                What about:



                alias vb='SUM1=$(md5sum ~/.bashrc) && vi ~/.bashrc && SUM2=$(md5sum ~/.bashrc) && if [ "$SUM1" != "$SUM2" ] ; then source ~/.bashrc ; fi'





                share|improve this answer








                New contributor




                Comar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.























                  3












                  3








                  3







                  What about:



                  alias vb='SUM1=$(md5sum ~/.bashrc) && vi ~/.bashrc && SUM2=$(md5sum ~/.bashrc) && if [ "$SUM1" != "$SUM2" ] ; then source ~/.bashrc ; fi'





                  share|improve this answer








                  New contributor




                  Comar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.










                  What about:



                  alias vb='SUM1=$(md5sum ~/.bashrc) && vi ~/.bashrc && SUM2=$(md5sum ~/.bashrc) && if [ "$SUM1" != "$SUM2" ] ; then source ~/.bashrc ; fi'






                  share|improve this answer








                  New contributor




                  Comar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.









                  share|improve this answer



                  share|improve this answer






                  New contributor




                  Comar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.









                  answered 2 hours ago









                  ComarComar

                  1312




                  1312




                  New contributor




                  Comar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.





                  New contributor





                  Comar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.






                  Comar is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.

























                      2














                      How about using a bash function instead of an alias. This works in my tests:




                      • Add the following function to ~/.bashrc

                      • source ~/.bashrc


                      • when you want to change ~/.bashrc type bashmod at the prompt



                        function bashmod () {

                        pre=$(shasum ~/.bashrc);
                        vim mybuf;
                        post=$(shasum ~/.bashrc);

                        if [ "$pre" = "$post" ]; then
                        echo "~/.bashrc unchanged";
                        else
                        . ~/.bashrc;
                        fi
                        }







                      share|improve this answer




























                        2














                        How about using a bash function instead of an alias. This works in my tests:




                        • Add the following function to ~/.bashrc

                        • source ~/.bashrc


                        • when you want to change ~/.bashrc type bashmod at the prompt



                          function bashmod () {

                          pre=$(shasum ~/.bashrc);
                          vim mybuf;
                          post=$(shasum ~/.bashrc);

                          if [ "$pre" = "$post" ]; then
                          echo "~/.bashrc unchanged";
                          else
                          . ~/.bashrc;
                          fi
                          }







                        share|improve this answer


























                          2












                          2








                          2







                          How about using a bash function instead of an alias. This works in my tests:




                          • Add the following function to ~/.bashrc

                          • source ~/.bashrc


                          • when you want to change ~/.bashrc type bashmod at the prompt



                            function bashmod () {

                            pre=$(shasum ~/.bashrc);
                            vim mybuf;
                            post=$(shasum ~/.bashrc);

                            if [ "$pre" = "$post" ]; then
                            echo "~/.bashrc unchanged";
                            else
                            . ~/.bashrc;
                            fi
                            }







                          share|improve this answer













                          How about using a bash function instead of an alias. This works in my tests:




                          • Add the following function to ~/.bashrc

                          • source ~/.bashrc


                          • when you want to change ~/.bashrc type bashmod at the prompt



                            function bashmod () {

                            pre=$(shasum ~/.bashrc);
                            vim mybuf;
                            post=$(shasum ~/.bashrc);

                            if [ "$pre" = "$post" ]; then
                            echo "~/.bashrc unchanged";
                            else
                            . ~/.bashrc;
                            fi
                            }








                          share|improve this answer












                          share|improve this answer



                          share|improve this answer










                          answered 2 hours ago









                          CaqeCaqe

                          414




                          414






















                              psycho9o is a new contributor. Be nice, and check out our Code of Conduct.










                              draft saved

                              draft discarded


















                              psycho9o is a new contributor. Be nice, and check out our Code of Conduct.













                              psycho9o is a new contributor. Be nice, and check out our Code of Conduct.












                              psycho9o is a new contributor. Be nice, and check out our Code of Conduct.
















                              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.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1431553%2falias-to-source-bashrc-after-its-been-edited%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

                              Taj Mahal Inhaltsverzeichnis Aufbau | Geschichte | 350-Jahr-Feier | Heutige Bedeutung | Siehe auch |...

                              Baia Sprie Cuprins Etimologie | Istorie | Demografie | Politică și administrație | Arii naturale...

                              Nicolae Petrescu-Găină Cuprins Biografie | Opera | In memoriam | Varia | Controverse, incertitudini...