在CygWin的包窗口中,当我输入sshpass时,什么也没出现.我尝试安装像openssh等类似的软件包,希望其中一个包含sshpass但没有运气.
这是我试图运行的代码:
from pexpect import pxssh
s = pxssh.pxssh()
if not s.login ('myip', 'myusername', 'mypassword'):
print ("SSH session failed on login.")
print (str(s))
else:
print ("SSH session login successful")
s.sendline ('ls -l')
s.prompt() # match the prompt
print (s.before) # print everything before the prompt.
s.logout()
Run Code Online (Sandbox Code Playgroud)
我在运行它时遇到的错误是:
Traceback (most recent call last):
File "test_pexpect.py", line 1, in <module>
from pexpect import pxssh
File "C:\Python35\lib\site-packages\pexpect\pxssh.py", line 23, in <module>
from pexpect import ExceptionPexpect, TIMEOUT, EOF, spawn
ImportError: cannot import name 'spawn'
Run Code Online (Sandbox Code Playgroud)
谁能帮我吗?我在Windows上使用python3.5
我有两个char
载体说{'G', 'K', 'A', 'L', 'P'}
和{'K', 'P', 'T', 'M'}
.我必须在保留顺序的同时得到这两个向量之间的差异{'G', 'A', 'L'}
.
我知道std::set_difference
函数但不能使用,因为这将需要对向量进行排序.有没有优化的方法在C++中执行此操作?
我想在本地系统上运行命令,而我在bash中使用ssh到远程系统.有没有办法做到这一点?这就是我要的:
#!/bin/bash
ssh mysystem@ip <<'SSH'
#Do something
#Run a command here on local machine and not on machine I have sshed to
#Do Something
exit
SSH
Run Code Online (Sandbox Code Playgroud)
编辑:我想回显一些消息,因为echo命令输出不会从远程机器显示,我想从本地运行.
我试图使用$ 1,$ 2变量,我通过命令行传递给bash shell脚本.我在ssh调用中使用的这些变量.但似乎ssh中的变量没有被替换,外部变量正在被替换.任何解决方法?这是代码
#!/bin/bash
ssh -t "StrictHostKeyChecking=no" -i $1 user@ip<<'EOF1'
ssh -t -i $1 user2@ip2 <<'EOF2'
exit
EOF2
exit
EOF1
Run Code Online (Sandbox Code Playgroud)
这里第一个$ 1被替换,但第二个没有.它基本上是密码减少认证的关键名称