How to automate and get to the end of more command in a Unix script?
Thanks for your help, I am writing a Unix script to automate a 3rd party script. Inside the 3rd party script I must press the space bar to page down a couple of times and then sign a user agreement, and this happens every time I execute the script. So I wanted to create another Unix program to automatically page down and then once it gets to the "Y/N" then it could just agree automatically.
Listed below is the commands I used but did not work for me:
yes | script_name.sh
echo "y" | script_name.sh
script_name.sh | echo "yes"
Any help would be appreciated thank you again.
Third Party Code:
#
# Copy customer.profile to tmp directory
#
if [ -f "${HOME}/customer.profile" ]; then
cp ${HOME}/customer.profile ${EMC_TMP}/customer.profile
fi
#
# Copy legal notice to tmp directory
#
cp ${HOME}/EMC_LEGAL_NOTICE.txt ${EMC_TMP}/EMC_LEGAL_NOTICE.txt
linux unix
|
show 8 more comments
Thanks for your help, I am writing a Unix script to automate a 3rd party script. Inside the 3rd party script I must press the space bar to page down a couple of times and then sign a user agreement, and this happens every time I execute the script. So I wanted to create another Unix program to automatically page down and then once it gets to the "Y/N" then it could just agree automatically.
Listed below is the commands I used but did not work for me:
yes | script_name.sh
echo "y" | script_name.sh
script_name.sh | echo "yes"
Any help would be appreciated thank you again.
Third Party Code:
#
# Copy customer.profile to tmp directory
#
if [ -f "${HOME}/customer.profile" ]; then
cp ${HOME}/customer.profile ${EMC_TMP}/customer.profile
fi
#
# Copy legal notice to tmp directory
#
cp ${HOME}/EMC_LEGAL_NOTICE.txt ${EMC_TMP}/EMC_LEGAL_NOTICE.txt
linux unix
2
I take it thatscript_name.sh
is a stand-in for the 3rd party script? It would be helpful if you could provide a pared-down version of that script that does themore
and any surrounding relevant commands to demonstrate that part of the problem you're trying to solve.
– Stephen P
Nov 19 '18 at 18:07
1
The MORE environment variable can set default options for themore
command. Helpful options might be-num <lines>
sets the number of lines in a page and+num
start displaying at line num. I don't think I have usedmore
since the late 1980s but its replacementless
will ignore input from pipes as a security feature so I imagine a modern more might be the same.
– Niall Cosgrove
Nov 19 '18 at 18:55
@StephenP Thanks for helping me Stephen, The actual name of the third party script I am trying to run is called "emcgrab.sh" and it is for a Linux machine. I am providing you with a URL to a basic idea of what the application does it terms of what the user sees. raghuramnaidu.blogspot.com/2016/04/… However, as soon as a launch the script it prompts me to page down just before I get to the line requiring me to accept the terms and copnditions.
– tharriott
Nov 19 '18 at 19:06
@tharriott you need to include some code in your question as Stephen suggested. Links go dead or get replaced with different content. I'm sure its mentioned in the help center. What the user sees is not important. The exact invocation of themore
command is. We can't address what we can't see.
– Niall Cosgrove
Nov 19 '18 at 19:09
@NiallCosgrove OK, I provided the most relevant part of the code from the 3rd party .sh file.I attached it uptop. However, I realize it doesn't say anything with the more command in it. Thought it calls to a txt file called "EMC_LEGAL_NOTICE.txt" where the actual terms of agreement resides.
– tharriott
Nov 19 '18 at 19:23
|
show 8 more comments
Thanks for your help, I am writing a Unix script to automate a 3rd party script. Inside the 3rd party script I must press the space bar to page down a couple of times and then sign a user agreement, and this happens every time I execute the script. So I wanted to create another Unix program to automatically page down and then once it gets to the "Y/N" then it could just agree automatically.
Listed below is the commands I used but did not work for me:
yes | script_name.sh
echo "y" | script_name.sh
script_name.sh | echo "yes"
Any help would be appreciated thank you again.
Third Party Code:
#
# Copy customer.profile to tmp directory
#
if [ -f "${HOME}/customer.profile" ]; then
cp ${HOME}/customer.profile ${EMC_TMP}/customer.profile
fi
#
# Copy legal notice to tmp directory
#
cp ${HOME}/EMC_LEGAL_NOTICE.txt ${EMC_TMP}/EMC_LEGAL_NOTICE.txt
linux unix
Thanks for your help, I am writing a Unix script to automate a 3rd party script. Inside the 3rd party script I must press the space bar to page down a couple of times and then sign a user agreement, and this happens every time I execute the script. So I wanted to create another Unix program to automatically page down and then once it gets to the "Y/N" then it could just agree automatically.
Listed below is the commands I used but did not work for me:
yes | script_name.sh
echo "y" | script_name.sh
script_name.sh | echo "yes"
Any help would be appreciated thank you again.
Third Party Code:
#
# Copy customer.profile to tmp directory
#
if [ -f "${HOME}/customer.profile" ]; then
cp ${HOME}/customer.profile ${EMC_TMP}/customer.profile
fi
#
# Copy legal notice to tmp directory
#
cp ${HOME}/EMC_LEGAL_NOTICE.txt ${EMC_TMP}/EMC_LEGAL_NOTICE.txt
linux unix
linux unix
edited Nov 19 '18 at 19:21
tharriott
asked Nov 19 '18 at 17:16
tharriotttharriott
205
205
2
I take it thatscript_name.sh
is a stand-in for the 3rd party script? It would be helpful if you could provide a pared-down version of that script that does themore
and any surrounding relevant commands to demonstrate that part of the problem you're trying to solve.
– Stephen P
Nov 19 '18 at 18:07
1
The MORE environment variable can set default options for themore
command. Helpful options might be-num <lines>
sets the number of lines in a page and+num
start displaying at line num. I don't think I have usedmore
since the late 1980s but its replacementless
will ignore input from pipes as a security feature so I imagine a modern more might be the same.
– Niall Cosgrove
Nov 19 '18 at 18:55
@StephenP Thanks for helping me Stephen, The actual name of the third party script I am trying to run is called "emcgrab.sh" and it is for a Linux machine. I am providing you with a URL to a basic idea of what the application does it terms of what the user sees. raghuramnaidu.blogspot.com/2016/04/… However, as soon as a launch the script it prompts me to page down just before I get to the line requiring me to accept the terms and copnditions.
– tharriott
Nov 19 '18 at 19:06
@tharriott you need to include some code in your question as Stephen suggested. Links go dead or get replaced with different content. I'm sure its mentioned in the help center. What the user sees is not important. The exact invocation of themore
command is. We can't address what we can't see.
– Niall Cosgrove
Nov 19 '18 at 19:09
@NiallCosgrove OK, I provided the most relevant part of the code from the 3rd party .sh file.I attached it uptop. However, I realize it doesn't say anything with the more command in it. Thought it calls to a txt file called "EMC_LEGAL_NOTICE.txt" where the actual terms of agreement resides.
– tharriott
Nov 19 '18 at 19:23
|
show 8 more comments
2
I take it thatscript_name.sh
is a stand-in for the 3rd party script? It would be helpful if you could provide a pared-down version of that script that does themore
and any surrounding relevant commands to demonstrate that part of the problem you're trying to solve.
– Stephen P
Nov 19 '18 at 18:07
1
The MORE environment variable can set default options for themore
command. Helpful options might be-num <lines>
sets the number of lines in a page and+num
start displaying at line num. I don't think I have usedmore
since the late 1980s but its replacementless
will ignore input from pipes as a security feature so I imagine a modern more might be the same.
– Niall Cosgrove
Nov 19 '18 at 18:55
@StephenP Thanks for helping me Stephen, The actual name of the third party script I am trying to run is called "emcgrab.sh" and it is for a Linux machine. I am providing you with a URL to a basic idea of what the application does it terms of what the user sees. raghuramnaidu.blogspot.com/2016/04/… However, as soon as a launch the script it prompts me to page down just before I get to the line requiring me to accept the terms and copnditions.
– tharriott
Nov 19 '18 at 19:06
@tharriott you need to include some code in your question as Stephen suggested. Links go dead or get replaced with different content. I'm sure its mentioned in the help center. What the user sees is not important. The exact invocation of themore
command is. We can't address what we can't see.
– Niall Cosgrove
Nov 19 '18 at 19:09
@NiallCosgrove OK, I provided the most relevant part of the code from the 3rd party .sh file.I attached it uptop. However, I realize it doesn't say anything with the more command in it. Thought it calls to a txt file called "EMC_LEGAL_NOTICE.txt" where the actual terms of agreement resides.
– tharriott
Nov 19 '18 at 19:23
2
2
I take it that
script_name.sh
is a stand-in for the 3rd party script? It would be helpful if you could provide a pared-down version of that script that does the more
and any surrounding relevant commands to demonstrate that part of the problem you're trying to solve.– Stephen P
Nov 19 '18 at 18:07
I take it that
script_name.sh
is a stand-in for the 3rd party script? It would be helpful if you could provide a pared-down version of that script that does the more
and any surrounding relevant commands to demonstrate that part of the problem you're trying to solve.– Stephen P
Nov 19 '18 at 18:07
1
1
The MORE environment variable can set default options for the
more
command. Helpful options might be -num <lines>
sets the number of lines in a page and +num
start displaying at line num. I don't think I have used more
since the late 1980s but its replacement less
will ignore input from pipes as a security feature so I imagine a modern more might be the same.– Niall Cosgrove
Nov 19 '18 at 18:55
The MORE environment variable can set default options for the
more
command. Helpful options might be -num <lines>
sets the number of lines in a page and +num
start displaying at line num. I don't think I have used more
since the late 1980s but its replacement less
will ignore input from pipes as a security feature so I imagine a modern more might be the same.– Niall Cosgrove
Nov 19 '18 at 18:55
@StephenP Thanks for helping me Stephen, The actual name of the third party script I am trying to run is called "emcgrab.sh" and it is for a Linux machine. I am providing you with a URL to a basic idea of what the application does it terms of what the user sees. raghuramnaidu.blogspot.com/2016/04/… However, as soon as a launch the script it prompts me to page down just before I get to the line requiring me to accept the terms and copnditions.
– tharriott
Nov 19 '18 at 19:06
@StephenP Thanks for helping me Stephen, The actual name of the third party script I am trying to run is called "emcgrab.sh" and it is for a Linux machine. I am providing you with a URL to a basic idea of what the application does it terms of what the user sees. raghuramnaidu.blogspot.com/2016/04/… However, as soon as a launch the script it prompts me to page down just before I get to the line requiring me to accept the terms and copnditions.
– tharriott
Nov 19 '18 at 19:06
@tharriott you need to include some code in your question as Stephen suggested. Links go dead or get replaced with different content. I'm sure its mentioned in the help center. What the user sees is not important. The exact invocation of the
more
command is. We can't address what we can't see.– Niall Cosgrove
Nov 19 '18 at 19:09
@tharriott you need to include some code in your question as Stephen suggested. Links go dead or get replaced with different content. I'm sure its mentioned in the help center. What the user sees is not important. The exact invocation of the
more
command is. We can't address what we can't see.– Niall Cosgrove
Nov 19 '18 at 19:09
@NiallCosgrove OK, I provided the most relevant part of the code from the 3rd party .sh file.I attached it uptop. However, I realize it doesn't say anything with the more command in it. Thought it calls to a txt file called "EMC_LEGAL_NOTICE.txt" where the actual terms of agreement resides.
– tharriott
Nov 19 '18 at 19:23
@NiallCosgrove OK, I provided the most relevant part of the code from the 3rd party .sh file.I attached it uptop. However, I realize it doesn't say anything with the more command in it. Thought it calls to a txt file called "EMC_LEGAL_NOTICE.txt" where the actual terms of agreement resides.
– tharriott
Nov 19 '18 at 19:23
|
show 8 more comments
1 Answer
1
active
oldest
votes
Solution depends on the script_name.sh
.
I tried the following script:
seq 400 | more
read -p "Do you accept? "
echo "Nice, you replied $REPLY"
When the more
is called without path, you can use
alias more=: ; echo y |source ./script_name.sh; unalias more
1
if the OP ran./emcgrab.sh -h
he would get command line options to bypass the EULA. Nice hack using alias btw.
– Niall Cosgrove
Nov 19 '18 at 20:00
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%2f53379654%2fhow-to-automate-and-get-to-the-end-of-more-command-in-a-unix-script%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
Solution depends on the script_name.sh
.
I tried the following script:
seq 400 | more
read -p "Do you accept? "
echo "Nice, you replied $REPLY"
When the more
is called without path, you can use
alias more=: ; echo y |source ./script_name.sh; unalias more
1
if the OP ran./emcgrab.sh -h
he would get command line options to bypass the EULA. Nice hack using alias btw.
– Niall Cosgrove
Nov 19 '18 at 20:00
add a comment |
Solution depends on the script_name.sh
.
I tried the following script:
seq 400 | more
read -p "Do you accept? "
echo "Nice, you replied $REPLY"
When the more
is called without path, you can use
alias more=: ; echo y |source ./script_name.sh; unalias more
1
if the OP ran./emcgrab.sh -h
he would get command line options to bypass the EULA. Nice hack using alias btw.
– Niall Cosgrove
Nov 19 '18 at 20:00
add a comment |
Solution depends on the script_name.sh
.
I tried the following script:
seq 400 | more
read -p "Do you accept? "
echo "Nice, you replied $REPLY"
When the more
is called without path, you can use
alias more=: ; echo y |source ./script_name.sh; unalias more
Solution depends on the script_name.sh
.
I tried the following script:
seq 400 | more
read -p "Do you accept? "
echo "Nice, you replied $REPLY"
When the more
is called without path, you can use
alias more=: ; echo y |source ./script_name.sh; unalias more
answered Nov 19 '18 at 19:55
Walter AWalter A
10.7k21031
10.7k21031
1
if the OP ran./emcgrab.sh -h
he would get command line options to bypass the EULA. Nice hack using alias btw.
– Niall Cosgrove
Nov 19 '18 at 20:00
add a comment |
1
if the OP ran./emcgrab.sh -h
he would get command line options to bypass the EULA. Nice hack using alias btw.
– Niall Cosgrove
Nov 19 '18 at 20:00
1
1
if the OP ran
./emcgrab.sh -h
he would get command line options to bypass the EULA. Nice hack using alias btw.– Niall Cosgrove
Nov 19 '18 at 20:00
if the OP ran
./emcgrab.sh -h
he would get command line options to bypass the EULA. Nice hack using alias btw.– Niall Cosgrove
Nov 19 '18 at 20:00
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%2f53379654%2fhow-to-automate-and-get-to-the-end-of-more-command-in-a-unix-script%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
2
I take it that
script_name.sh
is a stand-in for the 3rd party script? It would be helpful if you could provide a pared-down version of that script that does themore
and any surrounding relevant commands to demonstrate that part of the problem you're trying to solve.– Stephen P
Nov 19 '18 at 18:07
1
The MORE environment variable can set default options for the
more
command. Helpful options might be-num <lines>
sets the number of lines in a page and+num
start displaying at line num. I don't think I have usedmore
since the late 1980s but its replacementless
will ignore input from pipes as a security feature so I imagine a modern more might be the same.– Niall Cosgrove
Nov 19 '18 at 18:55
@StephenP Thanks for helping me Stephen, The actual name of the third party script I am trying to run is called "emcgrab.sh" and it is for a Linux machine. I am providing you with a URL to a basic idea of what the application does it terms of what the user sees. raghuramnaidu.blogspot.com/2016/04/… However, as soon as a launch the script it prompts me to page down just before I get to the line requiring me to accept the terms and copnditions.
– tharriott
Nov 19 '18 at 19:06
@tharriott you need to include some code in your question as Stephen suggested. Links go dead or get replaced with different content. I'm sure its mentioned in the help center. What the user sees is not important. The exact invocation of the
more
command is. We can't address what we can't see.– Niall Cosgrove
Nov 19 '18 at 19:09
@NiallCosgrove OK, I provided the most relevant part of the code from the 3rd party .sh file.I attached it uptop. However, I realize it doesn't say anything with the more command in it. Thought it calls to a txt file called "EMC_LEGAL_NOTICE.txt" where the actual terms of agreement resides.
– tharriott
Nov 19 '18 at 19:23