How to automate and get to the end of more command in a Unix script?











up vote
-2
down vote

favorite












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:




  1. yes | script_name.sh


  2. echo "y" | script_name.sh


  3. 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









share|improve this question




















  • 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 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 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 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 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 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 at 19:23















up vote
-2
down vote

favorite












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:




  1. yes | script_name.sh


  2. echo "y" | script_name.sh


  3. 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









share|improve this question




















  • 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 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 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 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 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 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 at 19:23













up vote
-2
down vote

favorite









up vote
-2
down vote

favorite











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:




  1. yes | script_name.sh


  2. echo "y" | script_name.sh


  3. 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









share|improve this question















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:




  1. yes | script_name.sh


  2. echo "y" | script_name.sh


  3. 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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 19 at 19:21

























asked Nov 19 at 17:16









tharriott

105




105








  • 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 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 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 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 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 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 at 19:23














  • 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 at 19:23












1 Answer
1






active

oldest

votes

















up vote
1
down vote













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





share|improve this answer

















  • 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 at 20:00











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',
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
});


}
});














draft saved

draft discarded


















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








up vote
1
down vote













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





share|improve this answer

















  • 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 at 20:00















up vote
1
down vote













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





share|improve this answer

















  • 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 at 20:00













up vote
1
down vote










up vote
1
down vote









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





share|improve this answer












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






share|improve this answer












share|improve this answer



share|improve this answer










answered Nov 19 at 19:55









Walter A

10.3k2930




10.3k2930








  • 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 at 20:00














  • 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 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 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 at 20:00


















draft saved

draft discarded




















































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.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • 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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

Ottavio Pratesi

Tricia Helfer

15 giugno