我有一个 python 脚本,它使用
size = os.popen('stty size', 'r').read().split()
获取终端窗口大小,以便我可以很好地打印文本。当我必须通过 bash 脚本运行这个 python 脚本时,我的问题就出现了。我有一个 bash 脚本,它rosrun
在后台调用这个 python 脚本(使用 &),并且出现错误 -
stty: 'standard input': Inappropriate ioctl for device
环顾四周后,我明白这是因为stty
需要一个终端(或伪终端),而我正在运行的 bash 脚本没有提供它。我无法使用,sudo
因为ros
命令无法使用 root 用户运行。
使用script -q -c
命令也没有帮助。有什么方法可以解决这个问题,而不必将os.popen
python 脚本中的命令更改为替代命令?目前,我正在考虑在 os.popen 之前添加打印并expect
在 bash 脚本中使用。