String `!23` is replaced with `docker` in command line
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
I have a Maven command with the parameter:
mvn test -Dcommon_password=!23foo
This command is being executed as
mvn test -Dcommon_password=dockerfoo
I.e. !23
is being substituted with docker
.
Why does this happen and how can I avoid it?
bash
add a comment |
I have a Maven command with the parameter:
mvn test -Dcommon_password=!23foo
This command is being executed as
mvn test -Dcommon_password=dockerfoo
I.e. !23
is being substituted with docker
.
Why does this happen and how can I avoid it?
bash
add a comment |
I have a Maven command with the parameter:
mvn test -Dcommon_password=!23foo
This command is being executed as
mvn test -Dcommon_password=dockerfoo
I.e. !23
is being substituted with docker
.
Why does this happen and how can I avoid it?
bash
I have a Maven command with the parameter:
mvn test -Dcommon_password=!23foo
This command is being executed as
mvn test -Dcommon_password=dockerfoo
I.e. !23
is being substituted with docker
.
Why does this happen and how can I avoid it?
bash
bash
edited yesterday
Stephen Kitt
182k25418496
182k25418496
asked yesterday
Vitalii PlagovVitalii Plagov
329311
329311
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
This is history expansion: !23
is replaced with the 23rd command in your history.
To avoid this, use single quotes:
mvn test '-Dcommon_password=!23foo'
4
or disable it completely withset +H
/set +o histexpand
– ilkkachu
yesterday
9
This is a password that can potentially contain all sorts of shell metacharacters. Properly quoting and escaping as in M. Kitt's answer is better than disabling just one of the possibilities that could occur. Of course, not having a password in process arguments in the first place would be better still. (-:
– JdeBP
16 hours ago
@JdeBP in my question I showed a password in a plain text just for simplicity reason. In a real project that argument takes the value from a Jenkins secret credential. So it’s masked and safe.
– Vitalii Plagov
9 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%2f512794%2fstring-23-is-replaced-with-docker-in-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
This is history expansion: !23
is replaced with the 23rd command in your history.
To avoid this, use single quotes:
mvn test '-Dcommon_password=!23foo'
4
or disable it completely withset +H
/set +o histexpand
– ilkkachu
yesterday
9
This is a password that can potentially contain all sorts of shell metacharacters. Properly quoting and escaping as in M. Kitt's answer is better than disabling just one of the possibilities that could occur. Of course, not having a password in process arguments in the first place would be better still. (-:
– JdeBP
16 hours ago
@JdeBP in my question I showed a password in a plain text just for simplicity reason. In a real project that argument takes the value from a Jenkins secret credential. So it’s masked and safe.
– Vitalii Plagov
9 hours ago
add a comment |
This is history expansion: !23
is replaced with the 23rd command in your history.
To avoid this, use single quotes:
mvn test '-Dcommon_password=!23foo'
4
or disable it completely withset +H
/set +o histexpand
– ilkkachu
yesterday
9
This is a password that can potentially contain all sorts of shell metacharacters. Properly quoting and escaping as in M. Kitt's answer is better than disabling just one of the possibilities that could occur. Of course, not having a password in process arguments in the first place would be better still. (-:
– JdeBP
16 hours ago
@JdeBP in my question I showed a password in a plain text just for simplicity reason. In a real project that argument takes the value from a Jenkins secret credential. So it’s masked and safe.
– Vitalii Plagov
9 hours ago
add a comment |
This is history expansion: !23
is replaced with the 23rd command in your history.
To avoid this, use single quotes:
mvn test '-Dcommon_password=!23foo'
This is history expansion: !23
is replaced with the 23rd command in your history.
To avoid this, use single quotes:
mvn test '-Dcommon_password=!23foo'
answered yesterday
Stephen KittStephen Kitt
182k25418496
182k25418496
4
or disable it completely withset +H
/set +o histexpand
– ilkkachu
yesterday
9
This is a password that can potentially contain all sorts of shell metacharacters. Properly quoting and escaping as in M. Kitt's answer is better than disabling just one of the possibilities that could occur. Of course, not having a password in process arguments in the first place would be better still. (-:
– JdeBP
16 hours ago
@JdeBP in my question I showed a password in a plain text just for simplicity reason. In a real project that argument takes the value from a Jenkins secret credential. So it’s masked and safe.
– Vitalii Plagov
9 hours ago
add a comment |
4
or disable it completely withset +H
/set +o histexpand
– ilkkachu
yesterday
9
This is a password that can potentially contain all sorts of shell metacharacters. Properly quoting and escaping as in M. Kitt's answer is better than disabling just one of the possibilities that could occur. Of course, not having a password in process arguments in the first place would be better still. (-:
– JdeBP
16 hours ago
@JdeBP in my question I showed a password in a plain text just for simplicity reason. In a real project that argument takes the value from a Jenkins secret credential. So it’s masked and safe.
– Vitalii Plagov
9 hours ago
4
4
or disable it completely with
set +H
/set +o histexpand
– ilkkachu
yesterday
or disable it completely with
set +H
/set +o histexpand
– ilkkachu
yesterday
9
9
This is a password that can potentially contain all sorts of shell metacharacters. Properly quoting and escaping as in M. Kitt's answer is better than disabling just one of the possibilities that could occur. Of course, not having a password in process arguments in the first place would be better still. (-:
– JdeBP
16 hours ago
This is a password that can potentially contain all sorts of shell metacharacters. Properly quoting and escaping as in M. Kitt's answer is better than disabling just one of the possibilities that could occur. Of course, not having a password in process arguments in the first place would be better still. (-:
– JdeBP
16 hours ago
@JdeBP in my question I showed a password in a plain text just for simplicity reason. In a real project that argument takes the value from a Jenkins secret credential. So it’s masked and safe.
– Vitalii Plagov
9 hours ago
@JdeBP in my question I showed a password in a plain text just for simplicity reason. In a real project that argument takes the value from a Jenkins secret credential. So it’s masked and safe.
– Vitalii Plagov
9 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%2f512794%2fstring-23-is-replaced-with-docker-in-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