Bash Script Run via Maven Does Not Promt for Input Properly
I have a bash script in which I am cloning a total of 5 repositories from a private server. I don't want the user to enter his credentials again and again, hence I prompt for them once and then reuse them.
This is my code for credentials promt
read -p "Enter Username: " username
echo -n "Enter Password: "
read -s password
However when this piece of code is run via maven, it does not display the prompt messages such as Enter Username
and does not even accept the -s silent input
flag.
If run without maven, this script runs fine.
The catch is that if I use the read
command without any flags or string prompts, it runs fine, which makes me think that maven might not be either recognizing or accepting these flags.
Has anyone else come across this?
I have tried using the interactive
mode in maven as well, same results.
bash git maven maven-plugin git-bash
|
show 1 more comment
I have a bash script in which I am cloning a total of 5 repositories from a private server. I don't want the user to enter his credentials again and again, hence I prompt for them once and then reuse them.
This is my code for credentials promt
read -p "Enter Username: " username
echo -n "Enter Password: "
read -s password
However when this piece of code is run via maven, it does not display the prompt messages such as Enter Username
and does not even accept the -s silent input
flag.
If run without maven, this script runs fine.
The catch is that if I use the read
command without any flags or string prompts, it runs fine, which makes me think that maven might not be either recognizing or accepting these flags.
Has anyone else come across this?
I have tried using the interactive
mode in maven as well, same results.
bash git maven maven-plugin git-bash
Why would you want to clone a repository like this?
– Essex Boy
Nov 22 '18 at 14:02
Use either a git credentials manager or ssh. They solve the same problems in a standard way
– Mark Adelsberger
Nov 22 '18 at 14:40
Possible duplicate of Is there a way to skip password typing when using https:// on GitHub?
– phd
Nov 22 '18 at 20:44
stackoverflow.com/search?q=%5Bgit%5D+skip+password
– phd
Nov 22 '18 at 20:44
Can't use SSH as there are multiple users who clone these repositories as well. Can't keep adding new keys all the time.
– m_nazir
Nov 23 '18 at 4:27
|
show 1 more comment
I have a bash script in which I am cloning a total of 5 repositories from a private server. I don't want the user to enter his credentials again and again, hence I prompt for them once and then reuse them.
This is my code for credentials promt
read -p "Enter Username: " username
echo -n "Enter Password: "
read -s password
However when this piece of code is run via maven, it does not display the prompt messages such as Enter Username
and does not even accept the -s silent input
flag.
If run without maven, this script runs fine.
The catch is that if I use the read
command without any flags or string prompts, it runs fine, which makes me think that maven might not be either recognizing or accepting these flags.
Has anyone else come across this?
I have tried using the interactive
mode in maven as well, same results.
bash git maven maven-plugin git-bash
I have a bash script in which I am cloning a total of 5 repositories from a private server. I don't want the user to enter his credentials again and again, hence I prompt for them once and then reuse them.
This is my code for credentials promt
read -p "Enter Username: " username
echo -n "Enter Password: "
read -s password
However when this piece of code is run via maven, it does not display the prompt messages such as Enter Username
and does not even accept the -s silent input
flag.
If run without maven, this script runs fine.
The catch is that if I use the read
command without any flags or string prompts, it runs fine, which makes me think that maven might not be either recognizing or accepting these flags.
Has anyone else come across this?
I have tried using the interactive
mode in maven as well, same results.
bash git maven maven-plugin git-bash
bash git maven maven-plugin git-bash
edited Nov 23 '18 at 0:02
madhead
14.9k1388126
14.9k1388126
asked Nov 22 '18 at 13:30
m_nazirm_nazir
164
164
Why would you want to clone a repository like this?
– Essex Boy
Nov 22 '18 at 14:02
Use either a git credentials manager or ssh. They solve the same problems in a standard way
– Mark Adelsberger
Nov 22 '18 at 14:40
Possible duplicate of Is there a way to skip password typing when using https:// on GitHub?
– phd
Nov 22 '18 at 20:44
stackoverflow.com/search?q=%5Bgit%5D+skip+password
– phd
Nov 22 '18 at 20:44
Can't use SSH as there are multiple users who clone these repositories as well. Can't keep adding new keys all the time.
– m_nazir
Nov 23 '18 at 4:27
|
show 1 more comment
Why would you want to clone a repository like this?
– Essex Boy
Nov 22 '18 at 14:02
Use either a git credentials manager or ssh. They solve the same problems in a standard way
– Mark Adelsberger
Nov 22 '18 at 14:40
Possible duplicate of Is there a way to skip password typing when using https:// on GitHub?
– phd
Nov 22 '18 at 20:44
stackoverflow.com/search?q=%5Bgit%5D+skip+password
– phd
Nov 22 '18 at 20:44
Can't use SSH as there are multiple users who clone these repositories as well. Can't keep adding new keys all the time.
– m_nazir
Nov 23 '18 at 4:27
Why would you want to clone a repository like this?
– Essex Boy
Nov 22 '18 at 14:02
Why would you want to clone a repository like this?
– Essex Boy
Nov 22 '18 at 14:02
Use either a git credentials manager or ssh. They solve the same problems in a standard way
– Mark Adelsberger
Nov 22 '18 at 14:40
Use either a git credentials manager or ssh. They solve the same problems in a standard way
– Mark Adelsberger
Nov 22 '18 at 14:40
Possible duplicate of Is there a way to skip password typing when using https:// on GitHub?
– phd
Nov 22 '18 at 20:44
Possible duplicate of Is there a way to skip password typing when using https:// on GitHub?
– phd
Nov 22 '18 at 20:44
stackoverflow.com/search?q=%5Bgit%5D+skip+password
– phd
Nov 22 '18 at 20:44
stackoverflow.com/search?q=%5Bgit%5D+skip+password
– phd
Nov 22 '18 at 20:44
Can't use SSH as there are multiple users who clone these repositories as well. Can't keep adding new keys all the time.
– m_nazir
Nov 23 '18 at 4:27
Can't use SSH as there are multiple users who clone these repositories as well. Can't keep adding new keys all the time.
– m_nazir
Nov 23 '18 at 4:27
|
show 1 more comment
1 Answer
1
active
oldest
votes
Just don't use any interactivity inside build tools. All values should be injected, provided into the builds. It's not a build tool job to prompt user for them. In Maven you can use Java System properties or environment variables:
pom.xml
<user>${sysprop.user}</user>
<password>${env.PASSWORD}</user>
bash
export PASSWORD=s3cr3t mvn task -Dsysprop.user=root
Answering your question directly: make sure that the place where you run bash script (external process) links input and output stream of that external process and the Maven's JVM process. More info here and here
I read your links, so it is possible that the behavior of bash might vary depending on whose calling it?
– m_nazir
Nov 23 '18 at 5:05
It's not bash's fault.
– madhead
Nov 23 '18 at 6:21
yeah you're right, I ended up taking the script out of the maven anyway
– m_nazir
Nov 23 '18 at 10:11
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
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
});
}
});
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%2fstackoverflow.com%2fquestions%2f53432104%2fbash-script-run-via-maven-does-not-promt-for-input-properly%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
Just don't use any interactivity inside build tools. All values should be injected, provided into the builds. It's not a build tool job to prompt user for them. In Maven you can use Java System properties or environment variables:
pom.xml
<user>${sysprop.user}</user>
<password>${env.PASSWORD}</user>
bash
export PASSWORD=s3cr3t mvn task -Dsysprop.user=root
Answering your question directly: make sure that the place where you run bash script (external process) links input and output stream of that external process and the Maven's JVM process. More info here and here
I read your links, so it is possible that the behavior of bash might vary depending on whose calling it?
– m_nazir
Nov 23 '18 at 5:05
It's not bash's fault.
– madhead
Nov 23 '18 at 6:21
yeah you're right, I ended up taking the script out of the maven anyway
– m_nazir
Nov 23 '18 at 10:11
add a comment |
Just don't use any interactivity inside build tools. All values should be injected, provided into the builds. It's not a build tool job to prompt user for them. In Maven you can use Java System properties or environment variables:
pom.xml
<user>${sysprop.user}</user>
<password>${env.PASSWORD}</user>
bash
export PASSWORD=s3cr3t mvn task -Dsysprop.user=root
Answering your question directly: make sure that the place where you run bash script (external process) links input and output stream of that external process and the Maven's JVM process. More info here and here
I read your links, so it is possible that the behavior of bash might vary depending on whose calling it?
– m_nazir
Nov 23 '18 at 5:05
It's not bash's fault.
– madhead
Nov 23 '18 at 6:21
yeah you're right, I ended up taking the script out of the maven anyway
– m_nazir
Nov 23 '18 at 10:11
add a comment |
Just don't use any interactivity inside build tools. All values should be injected, provided into the builds. It's not a build tool job to prompt user for them. In Maven you can use Java System properties or environment variables:
pom.xml
<user>${sysprop.user}</user>
<password>${env.PASSWORD}</user>
bash
export PASSWORD=s3cr3t mvn task -Dsysprop.user=root
Answering your question directly: make sure that the place where you run bash script (external process) links input and output stream of that external process and the Maven's JVM process. More info here and here
Just don't use any interactivity inside build tools. All values should be injected, provided into the builds. It's not a build tool job to prompt user for them. In Maven you can use Java System properties or environment variables:
pom.xml
<user>${sysprop.user}</user>
<password>${env.PASSWORD}</user>
bash
export PASSWORD=s3cr3t mvn task -Dsysprop.user=root
Answering your question directly: make sure that the place where you run bash script (external process) links input and output stream of that external process and the Maven's JVM process. More info here and here
answered Nov 23 '18 at 0:02
madheadmadhead
14.9k1388126
14.9k1388126
I read your links, so it is possible that the behavior of bash might vary depending on whose calling it?
– m_nazir
Nov 23 '18 at 5:05
It's not bash's fault.
– madhead
Nov 23 '18 at 6:21
yeah you're right, I ended up taking the script out of the maven anyway
– m_nazir
Nov 23 '18 at 10:11
add a comment |
I read your links, so it is possible that the behavior of bash might vary depending on whose calling it?
– m_nazir
Nov 23 '18 at 5:05
It's not bash's fault.
– madhead
Nov 23 '18 at 6:21
yeah you're right, I ended up taking the script out of the maven anyway
– m_nazir
Nov 23 '18 at 10:11
I read your links, so it is possible that the behavior of bash might vary depending on whose calling it?
– m_nazir
Nov 23 '18 at 5:05
I read your links, so it is possible that the behavior of bash might vary depending on whose calling it?
– m_nazir
Nov 23 '18 at 5:05
It's not bash's fault.
– madhead
Nov 23 '18 at 6:21
It's not bash's fault.
– madhead
Nov 23 '18 at 6:21
yeah you're right, I ended up taking the script out of the maven anyway
– m_nazir
Nov 23 '18 at 10:11
yeah you're right, I ended up taking the script out of the maven anyway
– m_nazir
Nov 23 '18 at 10:11
add a comment |
Thanks for contributing an answer to Stack Overflow!
- 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%2fstackoverflow.com%2fquestions%2f53432104%2fbash-script-run-via-maven-does-not-promt-for-input-properly%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
Why would you want to clone a repository like this?
– Essex Boy
Nov 22 '18 at 14:02
Use either a git credentials manager or ssh. They solve the same problems in a standard way
– Mark Adelsberger
Nov 22 '18 at 14:40
Possible duplicate of Is there a way to skip password typing when using https:// on GitHub?
– phd
Nov 22 '18 at 20:44
stackoverflow.com/search?q=%5Bgit%5D+skip+password
– phd
Nov 22 '18 at 20:44
Can't use SSH as there are multiple users who clone these repositories as well. Can't keep adding new keys all the time.
– m_nazir
Nov 23 '18 at 4:27