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;
}
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
New contributor
add a comment |
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
New contributor
add a comment |
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
New contributor
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
linux bash vim bashrc bash-alias
New contributor
New contributor
New contributor
asked 5 hours ago
psycho9opsycho9o
61
61
New contributor
New contributor
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
What about:
alias vb='SUM1=$(md5sum ~/.bashrc) && vi ~/.bashrc && SUM2=$(md5sum ~/.bashrc) && if [ "$SUM1" != "$SUM2" ] ; then source ~/.bashrc ; fi'
New contributor
add a comment |
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
}
add a comment |
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.
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%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
What about:
alias vb='SUM1=$(md5sum ~/.bashrc) && vi ~/.bashrc && SUM2=$(md5sum ~/.bashrc) && if [ "$SUM1" != "$SUM2" ] ; then source ~/.bashrc ; fi'
New contributor
add a comment |
What about:
alias vb='SUM1=$(md5sum ~/.bashrc) && vi ~/.bashrc && SUM2=$(md5sum ~/.bashrc) && if [ "$SUM1" != "$SUM2" ] ; then source ~/.bashrc ; fi'
New contributor
add a comment |
What about:
alias vb='SUM1=$(md5sum ~/.bashrc) && vi ~/.bashrc && SUM2=$(md5sum ~/.bashrc) && if [ "$SUM1" != "$SUM2" ] ; then source ~/.bashrc ; fi'
New contributor
What about:
alias vb='SUM1=$(md5sum ~/.bashrc) && vi ~/.bashrc && SUM2=$(md5sum ~/.bashrc) && if [ "$SUM1" != "$SUM2" ] ; then source ~/.bashrc ; fi'
New contributor
New contributor
answered 2 hours ago
ComarComar
1312
1312
New contributor
New contributor
add a comment |
add a comment |
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
}
add a comment |
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
}
add a comment |
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
}
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
}
answered 2 hours ago
CaqeCaqe
414
414
add a comment |
add a comment |
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.
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.
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%2fsuperuser.com%2fquestions%2f1431553%2falias-to-source-bashrc-after-its-been-edited%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