shell script to pass values properties file in java
Clash Royale CLAN TAG#URR8PPP
I have a properties file that looks like this:
mysql.username=USERNAME
mysql.pass=PASS
I need to change USERNAME
and PASS
with variable values passed to shell script. I cannot use sed
since that will work fine the first time to replace USERNAME and PASS with "values" but once they are replaced, sed will not find the variable names in the file the second time the script runs and thus an issue.
How can this be handled?
shell-script bash
add a comment |
I have a properties file that looks like this:
mysql.username=USERNAME
mysql.pass=PASS
I need to change USERNAME
and PASS
with variable values passed to shell script. I cannot use sed
since that will work fine the first time to replace USERNAME and PASS with "values" but once they are replaced, sed will not find the variable names in the file the second time the script runs and thus an issue.
How can this be handled?
shell-script bash
add a comment |
I have a properties file that looks like this:
mysql.username=USERNAME
mysql.pass=PASS
I need to change USERNAME
and PASS
with variable values passed to shell script. I cannot use sed
since that will work fine the first time to replace USERNAME and PASS with "values" but once they are replaced, sed will not find the variable names in the file the second time the script runs and thus an issue.
How can this be handled?
shell-script bash
I have a properties file that looks like this:
mysql.username=USERNAME
mysql.pass=PASS
I need to change USERNAME
and PASS
with variable values passed to shell script. I cannot use sed
since that will work fine the first time to replace USERNAME and PASS with "values" but once they are replaced, sed will not find the variable names in the file the second time the script runs and thus an issue.
How can this be handled?
shell-script bash
shell-script bash
asked Mar 15 at 10:28
Simran kaurSimran kaur
1063
1063
add a comment |
add a comment |
4 Answers
4
active
oldest
votes
You can obtain old parameters from the properties file before using sed, e.g.
# get old parameters
$ export oldUsername=$(grep mysql.username $FILE | cut -d'=' -f2)
$ export oldPass=$(grep mysql.pass $FILE | cut -d'=' -f2)
# set new parameters
$ export newUsername=NEW_USERNAME
$ export newPass=NEW_PASS
# change parameters
$ sed -i "s/$oldUsername/$newUsername/g" $FILE
$ sed -i "s/$oldPass/$newPass/g" $FILE
add a comment |
You can use below.
[user@xyz ~]$ hh='mysql.username=USERNAME';echo $hh | awk -F"=" 'OFS=FS $2="Mango"; print '
mysql.username=Mango
1
It would be nice if you could break down each section of the command. This would help people less experienced in bash and possibly help them fix similar problems in the future based on what they learn here.
– Levi
Mar 17 at 2:21
add a comment |
You should regenerate this file from a template using your configuration management system of choice.
You could also write a shell script that uses a heredoc to do the same thing. But since we're in DevOps-land you really should be using your configuration management system for these things.
add a comment |
Maybe, this is something you can try - in sed they are known as back-references:
$1 - is the value passed for username
$2 - is the value passed for password
1 captures the back reference within ( and )
sed -i "s/(mysql.username=).*/1$1" propertiesfile
sed -i "s/(mysql.pass=).*/1$2" propertiesfile
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "674"
;
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%2fdevops.stackexchange.com%2fquestions%2f6615%2fshell-script-to-pass-values-properties-file-in-java%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
4 Answers
4
active
oldest
votes
4 Answers
4
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can obtain old parameters from the properties file before using sed, e.g.
# get old parameters
$ export oldUsername=$(grep mysql.username $FILE | cut -d'=' -f2)
$ export oldPass=$(grep mysql.pass $FILE | cut -d'=' -f2)
# set new parameters
$ export newUsername=NEW_USERNAME
$ export newPass=NEW_PASS
# change parameters
$ sed -i "s/$oldUsername/$newUsername/g" $FILE
$ sed -i "s/$oldPass/$newPass/g" $FILE
add a comment |
You can obtain old parameters from the properties file before using sed, e.g.
# get old parameters
$ export oldUsername=$(grep mysql.username $FILE | cut -d'=' -f2)
$ export oldPass=$(grep mysql.pass $FILE | cut -d'=' -f2)
# set new parameters
$ export newUsername=NEW_USERNAME
$ export newPass=NEW_PASS
# change parameters
$ sed -i "s/$oldUsername/$newUsername/g" $FILE
$ sed -i "s/$oldPass/$newPass/g" $FILE
add a comment |
You can obtain old parameters from the properties file before using sed, e.g.
# get old parameters
$ export oldUsername=$(grep mysql.username $FILE | cut -d'=' -f2)
$ export oldPass=$(grep mysql.pass $FILE | cut -d'=' -f2)
# set new parameters
$ export newUsername=NEW_USERNAME
$ export newPass=NEW_PASS
# change parameters
$ sed -i "s/$oldUsername/$newUsername/g" $FILE
$ sed -i "s/$oldPass/$newPass/g" $FILE
You can obtain old parameters from the properties file before using sed, e.g.
# get old parameters
$ export oldUsername=$(grep mysql.username $FILE | cut -d'=' -f2)
$ export oldPass=$(grep mysql.pass $FILE | cut -d'=' -f2)
# set new parameters
$ export newUsername=NEW_USERNAME
$ export newPass=NEW_PASS
# change parameters
$ sed -i "s/$oldUsername/$newUsername/g" $FILE
$ sed -i "s/$oldPass/$newPass/g" $FILE
answered Mar 15 at 11:33
Pavel StroitelevPavel Stroitelev
112
112
add a comment |
add a comment |
You can use below.
[user@xyz ~]$ hh='mysql.username=USERNAME';echo $hh | awk -F"=" 'OFS=FS $2="Mango"; print '
mysql.username=Mango
1
It would be nice if you could break down each section of the command. This would help people less experienced in bash and possibly help them fix similar problems in the future based on what they learn here.
– Levi
Mar 17 at 2:21
add a comment |
You can use below.
[user@xyz ~]$ hh='mysql.username=USERNAME';echo $hh | awk -F"=" 'OFS=FS $2="Mango"; print '
mysql.username=Mango
1
It would be nice if you could break down each section of the command. This would help people less experienced in bash and possibly help them fix similar problems in the future based on what they learn here.
– Levi
Mar 17 at 2:21
add a comment |
You can use below.
[user@xyz ~]$ hh='mysql.username=USERNAME';echo $hh | awk -F"=" 'OFS=FS $2="Mango"; print '
mysql.username=Mango
You can use below.
[user@xyz ~]$ hh='mysql.username=USERNAME';echo $hh | awk -F"=" 'OFS=FS $2="Mango"; print '
mysql.username=Mango
answered Mar 15 at 11:42
againagain
1191
1191
1
It would be nice if you could break down each section of the command. This would help people less experienced in bash and possibly help them fix similar problems in the future based on what they learn here.
– Levi
Mar 17 at 2:21
add a comment |
1
It would be nice if you could break down each section of the command. This would help people less experienced in bash and possibly help them fix similar problems in the future based on what they learn here.
– Levi
Mar 17 at 2:21
1
1
It would be nice if you could break down each section of the command. This would help people less experienced in bash and possibly help them fix similar problems in the future based on what they learn here.
– Levi
Mar 17 at 2:21
It would be nice if you could break down each section of the command. This would help people less experienced in bash and possibly help them fix similar problems in the future based on what they learn here.
– Levi
Mar 17 at 2:21
add a comment |
You should regenerate this file from a template using your configuration management system of choice.
You could also write a shell script that uses a heredoc to do the same thing. But since we're in DevOps-land you really should be using your configuration management system for these things.
add a comment |
You should regenerate this file from a template using your configuration management system of choice.
You could also write a shell script that uses a heredoc to do the same thing. But since we're in DevOps-land you really should be using your configuration management system for these things.
add a comment |
You should regenerate this file from a template using your configuration management system of choice.
You could also write a shell script that uses a heredoc to do the same thing. But since we're in DevOps-land you really should be using your configuration management system for these things.
You should regenerate this file from a template using your configuration management system of choice.
You could also write a shell script that uses a heredoc to do the same thing. But since we're in DevOps-land you really should be using your configuration management system for these things.
answered Mar 15 at 14:10
chickschicks
1,1391523
1,1391523
add a comment |
add a comment |
Maybe, this is something you can try - in sed they are known as back-references:
$1 - is the value passed for username
$2 - is the value passed for password
1 captures the back reference within ( and )
sed -i "s/(mysql.username=).*/1$1" propertiesfile
sed -i "s/(mysql.pass=).*/1$2" propertiesfile
add a comment |
Maybe, this is something you can try - in sed they are known as back-references:
$1 - is the value passed for username
$2 - is the value passed for password
1 captures the back reference within ( and )
sed -i "s/(mysql.username=).*/1$1" propertiesfile
sed -i "s/(mysql.pass=).*/1$2" propertiesfile
add a comment |
Maybe, this is something you can try - in sed they are known as back-references:
$1 - is the value passed for username
$2 - is the value passed for password
1 captures the back reference within ( and )
sed -i "s/(mysql.username=).*/1$1" propertiesfile
sed -i "s/(mysql.pass=).*/1$2" propertiesfile
Maybe, this is something you can try - in sed they are known as back-references:
$1 - is the value passed for username
$2 - is the value passed for password
1 captures the back reference within ( and )
sed -i "s/(mysql.username=).*/1$1" propertiesfile
sed -i "s/(mysql.pass=).*/1$2" propertiesfile
answered Mar 18 at 3:46
rebelutionrebelution
284
284
add a comment |
add a comment |
Thanks for contributing an answer to DevOps 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%2fdevops.stackexchange.com%2fquestions%2f6615%2fshell-script-to-pass-values-properties-file-in-java%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