我在本地机器上有一个Python脚本,只打印"Hello World"。我想使用Expect通过ssh在远程机器上运行此脚本。 我正在使用Expect自动输入密码。 输入以下命令到命令行会在远程机器上运行本地脚本,但需要用户输入密码:
以下.exp脚本自动输入密码,但运行的是已经在远程机器上的脚本。
如果在远程机器上找不到hello.py文件,将会出现以下错误信息:"bash: hello.py: No such file or directory"。请问有谁能帮我吗?提前感谢。
编辑:我不想先将脚本复制到远程机器上再执行它。我尝试过并且可以运行,但是我不想以这种方式运行它。
ssh abcd@111.222.333.44 python < hello .py
或者
cat hello.py | ssh abcd@111.222.333.44 python -
以下.exp脚本自动输入密码,但运行的是已经在远程机器上的脚本。
#!/usr/bin/expect
spawn ssh abcd@111.222.333.44 python < hello.py
set pass "1"
expect {
password: { send "$pass\r"; exp_continue }
}
如果在远程机器上找不到hello.py文件,将会出现以下错误信息:"bash: hello.py: No such file or directory"。请问有谁能帮我吗?提前感谢。
编辑:我不想先将脚本复制到远程机器上再执行它。我尝试过并且可以运行,但是我不想以这种方式运行它。