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












-2















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 '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 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













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
















-2















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 '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 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













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














-2












-2








-2








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 '18 at 19:21







tharriott

















asked Nov 19 '18 at 17:16









tharriotttharriott

205




205








  • 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






  • 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













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














  • 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






  • 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













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








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












1 Answer
1






active

oldest

votes


















1














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


}
});














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









1














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
















1














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














1












1








1







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 '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














  • 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




















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.




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

Guess what letter conforming each word

Port of Spain

Run scheduled task as local user group (not BUILTIN)