Every time I run my script it returns `_curses.error: must call setupterm() first` why?
Every time I run my script it returns `_curses.error: must call setupterm() first` why?
我目前正在尝试在 python 中学习 pwn
。我写了一个简单的 Hello world 脚本:
from pwn import *
io = process('sh')
io.sendline('echo Hello, world')
io.recvline()
让它运行。立即返回两个错误:
_curses.error: setupterm: could not find terminfo database
_curses.error: must call (at least) setupterm() first
我环顾四周,发现解决方案应该是:
export TERM=linux
export TERMINFO=/etc/terminfo
现在,export 似乎不是一个有效的命令,在等号后放置一个正斜杠 returns 错误 'expression expected'
。
我在 ubuntu 20.04.
上使用 pycharm
那么我的问题是导出代码放在哪里?
为了在非 pty IDE 中 运行 pwntools 脚本,最好的方法是禁用 pwntools 终端交互。这可以通过在环境中将 PWNLIB_NOTREM
设置为 1
来完成。脚本中的示例:
import os
os.environ['PWNLIB_NOTERM'] = '1'
from pwn import * # the modifications need to happen before this import
# code follows
你可以用同样的方法设置其他环境变量,比如你提到的TERM
。 export TERM=linux
是 POSIX shell 语法(或 bash 语法),而用于设置环境变量的 python 语法是:
os.environ['TERM'] = 'linux'
我目前正在尝试在 python 中学习 pwn
。我写了一个简单的 Hello world 脚本:
from pwn import *
io = process('sh')
io.sendline('echo Hello, world')
io.recvline()
让它运行。立即返回两个错误:
_curses.error: setupterm: could not find terminfo database
_curses.error: must call (at least) setupterm() first
我环顾四周,发现解决方案应该是:
export TERM=linux
export TERMINFO=/etc/terminfo
现在,export 似乎不是一个有效的命令,在等号后放置一个正斜杠 returns 错误 'expression expected'
。
我在 ubuntu 20.04.
那么我的问题是导出代码放在哪里?
为了在非 pty IDE 中 运行 pwntools 脚本,最好的方法是禁用 pwntools 终端交互。这可以通过在环境中将 PWNLIB_NOTREM
设置为 1
来完成。脚本中的示例:
import os
os.environ['PWNLIB_NOTERM'] = '1'
from pwn import * # the modifications need to happen before this import
# code follows
你可以用同样的方法设置其他环境变量,比如你提到的TERM
。 export TERM=linux
是 POSIX shell 语法(或 bash 语法),而用于设置环境变量的 python 语法是:
os.environ['TERM'] = 'linux'