/ Published in: Python
It is necessary on occasion to execute a command in interactive shell. (I needed to to get access to some env vars... ) While there are many way to accomplish this I opted to run my cmd in interactive mode.
To do so I had to write this little wrapper snippet and figured it might be useful for someone else.
To do so I had to write this little wrapper snippet and figured it might be useful for someone else.
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
def interExecute(host,port,username,password,cmd): """Execute the given commands in an interactive shell.""" transport = paramiko.Transport((host, port)) transport.connect(username = username, password = password) chan = paramiko.transport.open_session() chan.setblocking(0) chan.invoke_shell() out = '' chan.send(cmd+'\n') tCheck = 0 # Wait for it..... while not chan.recv_ready(): time.sleep(10) tCheck+=1 if tCheck >= 6: print 'time out'#TODO: add exeption here return False out = chan.recv(1024) return out