Hi,
I have run into a problem to which i can't seem to find any solution, posting here is my last resort.
Problem:
I am using plink to access my router and run a few configuration commands. When in enter configurations mode, instead of sending next command plink keeps on waiting for manual input. It only sends command while not in configuration mode. I need a way to make it send commands while router is in configuration mode.
Router is Cisco ASR 9001 (IOS XR)
using ssh to connect to router
command used to loging to router :
Commands in commands.txt
While waiting in configure mode, I can manually send the command by keyboard but then it kills the reason for using a batch file. However, if i manually exit from configuration mode, plink then resumes to send the next comamnds.
So I am stuck as how to make it send commands while in configuration mode.
Last edited by rbatte1; 08-02-2017 at 12:01 PM..
Reason: Added CODE tags
Rather, I suspect it does not wait and sends the entire file in one giant block which gets 99% ignored.
For dealing with interactive situations like this, you'd usually use the expect language, which you can tell to wait for a matching response before sending more text. However, Windows does not have actual terminals for expect to use, so I'm unsure if this can be accomplished.
I have tested it with several commands. Plink send them one by one and as i already mentioned that when i exit the configuration mode, it resumes normal operation. The problem only comes when router goes into configuration mode.
Another crude way to deal with this would be slowing down the input. I don't think Windows has the very basic functionality needed to do this, but with busybox-w32 you can do:
This will flatten any whitespace in your input file. I'm not sure how to avoid that without using an external script file. Does it matter for your input?
Quote:
Originally Posted by zaainabbas
I have tested it with several commands. Plink send them one by one and as i already mentioned that when i exit the configuration mode, it resumes normal operation. The problem only comes when router goes into configuration mode.
plink does not wait. It is a very primitive non-terminal with no such feature. It sends as fast as the socket will allow it.
The usual problem with scripting interactive interfaces is periods of time when anything you type will be ignored. This seldom matters to a human, but a program which will happily send the entire buffer while the router's occupied examining its own navel.
Last edited by Corona688; 08-02-2017 at 12:43 PM..
Mate, input is being taken fine, rather plink itself goes into some kind of wait from router. what i think is that plink interprets it as router is busy while in configure mode. The second router goes to privilege mode, operation resumes as normal.
If it really is waiting on keyboard, have you tried just
? Windows isn't smart enough to tell the difference between textfile and terminal, so it might actually work as a "fake keyboard".
CLI is open when plink is running and i can see everything on screen. When router goes into configruation mode, everything just stops. I can input commands from my keyboard. So i give "exit" command to quit configuration mode and then again operation resumes as normal, the commands again start coming from batch file.
If following commands are in batch file :
This is how it actually works:
Last edited by Scott; 08-02-2017 at 01:16 PM..
Reason: Use code tags, please
hi,
Can anybody help me about the odd output file yielded by the following command:
plink --noweb --allow-no-sex --bfile input_file --assoc --adjust --out output_file
In fact, I'd like to perform a simple Bonferroni basic association test, and I obtains the following output file (extract... (1 Reply)
Iam having a script which is used to load users and dumpfile in any given schema.Iam trying to autolog the script and have added two fucntion in it.
function init_stdout_redirect {
OUT_LOG=$1
OUT_PIPE=$(mktemp -u)
# Create the output pipe
mkfifo $OUT_PIPE
# Save stdout and... (15 Replies)
Hi,
I am facing a strange issue,
when i call a script from my while loop in background it doesnt go in background, despite the wait i put below the whil loop it goes forward even before the process put in background is completed.
cat abc.txt | while read -u4 line
do
#if line contains #... (2 Replies)
Hello,
On a HP-UX 10.20 server I've executed something similar to this command:
# echo 'selall;info;wait;infolog;view;done' | /usr/sbin/cstm
But it returns sometype of "argument list too long" error.
I suppose there is a way to fix it by using xargs but I can't figure it out.
Any... (7 Replies)
Hello, I have been trying to figure out why the wait isnt waiting for the sleep process to complete till now and have found out that since sleep runs as different process and not a child process the wait isnt waiting.
script:
cat test|while read i
do
echo $i
sleep 30 &
done
wait
ps... (4 Replies)
Did not use 'wait' yet.
How I understand by now the wait works only for child processes, started background.
Is there any other way to watch completion of any, not related process (at least, a process, owned by the same user?)
I need to start a background process, witch will be waiting... (2 Replies)
I have a one line bat script run off a XP machine that tar's and compresses some files from a Sol 8 box. It goes something like this (a bit simplified)....
plink -pw <passwd> user@host "tar -cvf - -C / tmp/a_file | compress " > a_file.tar.Z
So this works....and it's worked many times. But now... (3 Replies)
:cool:
I need to execute a shell script to do the following:
cat a file
run two back ground processes using the first two values from the file
wait till those background processes finish
run two more background processes using the next two values from the file
wait till those background... (1 Reply)
When running top, I notice a bit more I/O wait time than usual. Is there a tool or piece of software out there that can me help evaluate the performance of these operations on my machine? Thanks! (5 Replies)