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:
yes | script_name.shecho "y" | script_name.shscript_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
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:
yes | script_name.shecho "y" | script_name.shscript_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.shis 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 themoreand 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 themorecommand. Helpful options might be-num <lines>sets the number of lines in a page and+numstart displaying at line num. I don't think I have usedmoresince the late 1980s but its replacementlesswill 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 themorecommand 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
|
show 8 more comments
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:
yes | script_name.shecho "y" | script_name.shscript_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.shecho "y" | script_name.shscript_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 at 19:21
asked Nov 19 at 17:16
tharriott
105
105
2
I take it thatscript_name.shis 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 themoreand 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 themorecommand. Helpful options might be-num <lines>sets the number of lines in a page and+numstart displaying at line num. I don't think I have usedmoresince the late 1980s but its replacementlesswill 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 themorecommand 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
|
show 8 more comments
2
I take it thatscript_name.shis 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 themoreand 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 themorecommand. Helpful options might be-num <lines>sets the number of lines in a page and+numstart displaying at line num. I don't think I have usedmoresince the late 1980s but its replacementlesswill 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 themorecommand 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
|
show 8 more comments
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
1
if the OP ran./emcgrab.sh -hhe would get command line options to bypass the EULA. Nice hack using alias btw.
– Niall Cosgrove
Nov 19 at 20:00
add a comment |
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
1
if the OP ran./emcgrab.sh -hhe would get command line options to bypass the EULA. Nice hack using alias btw.
– Niall Cosgrove
Nov 19 at 20:00
add a comment |
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
1
if the OP ran./emcgrab.sh -hhe would get command line options to bypass the EULA. Nice hack using alias btw.
– Niall Cosgrove
Nov 19 at 20:00
add a comment |
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
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 at 19:55
Walter A
10.3k2930
10.3k2930
1
if the OP ran./emcgrab.sh -hhe would get command line options to bypass the EULA. Nice hack using alias btw.
– Niall Cosgrove
Nov 19 at 20:00
add a comment |
1
if the OP ran./emcgrab.sh -hhe 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
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.
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.
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.shis 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 themoreand 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
morecommand. Helpful options might be-num <lines>sets the number of lines in a page and+numstart displaying at line num. I don't think I have usedmoresince the late 1980s but its replacementlesswill 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
morecommand 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