因此,python 有一个方便的功能,pwntools
可以sendline()
作为可执行文件的一部分。如何在 bash 中模拟此功能?
例子
#whatever.py
x = input("First input please: ")
y = input("Second input please: ")
我知道我可以echo "input1" | python3 whatever.py
回答第一个输入,但我不能让它多行工作(echo "input1\ninput2" | ...
不起作用,也不行echo "input1"; echo "input2" | ...
)。
您的 Python 脚本在其标准输入流上需要两行输入。以下任何一项都将提供:
子shell中的两个调用
echo
:echo
复合命令中的两个调用:echo
使用非标准-e
选项将嵌入解释\n
为文字换行符的单个调用:一次调用
printf
,将每个后续参数格式化为自己的输出行。这比 using 更适合可变数据echo
,请参阅为什么 printf 比 echo 更好?.使用此处文档重定向: