我可以自动运行一个shellcript来运行一个要求用户输入的python文件吗?

时间:2013-01-31 18:37:47

标签: shell terminal

我知道如何轻松运行shell脚本。

我的文件会说:

#!/bin/zsh
python somefile.py

但文件,在这种情况下somefile需要输入。例如:

What is the password?

你能编写一个输入该密码的脚本,还是在等待输入时暂停?

我的目标是运行隧道python脚本来构建连接并观察端口,通过隧道提取一些数据,然后关闭python脚本。

理想情况:我希望在备用终端中使用这个shellcript选项somefile.py,因为我不知道在不再需要它之前我是否可以不用,然后终止进程。

首先是第一件事。你有脚本可以做类似的事情:

#!/bin/zsh
python somefile.py
echo admin12345

或类似于自动输入信息?

2 个答案:

答案 0 :(得分:1)

假设python脚本从stdin读取,只需执行“echo admin12345 | somefile.py”。

然而,通常情况并非如此,并且读取密码的脚本将需要从终端读取,而不仅仅是任何标准输入。

在这种情况下,请查看“expect”。

答案 1 :(得分:-1)

javapython示例对我有用:

#!/bin/bash
echo "1234" | python somefile.py

只需为您的脚本chmod +x yourscript.sh授予一些权限,然后运行./yourscript.sh