Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim:警告:输出不到端子 我运行一个运行Python脚本的C++二进制文件。我是这样做的 stream = popen(cmd.c_str(), "r"); if (stream) { while (!feof(stream)) if (fgets(buffer, max_buffer, stream) != NULL) data.append(buffer); status = pclose(stream); }_Python_C++_Unix_Vim_Sh - Fatal编程技术网

Vim:警告:输出不到端子 我运行一个运行Python脚本的C++二进制文件。我是这样做的 stream = popen(cmd.c_str(), "r"); if (stream) { while (!feof(stream)) if (fgets(buffer, max_buffer, stream) != NULL) data.append(buffer); status = pclose(stream); }

Vim:警告:输出不到端子 我运行一个运行Python脚本的C++二进制文件。我是这样做的 stream = popen(cmd.c_str(), "r"); if (stream) { while (!feof(stream)) if (fgets(buffer, max_buffer, stream) != NULL) data.append(buffer); status = pclose(stream); },python,c++,unix,vim,sh,Python,C++,Unix,Vim,Sh,此python脚本还使用子流程运行一些shell命令 subprocess.check_call(arg_list) 我突然开始了错误,比如“VIM:警告:输出不到终端”,C++二进制挂起。 最简单的修复方法是什么?popen调用将读取子进程写入其标准输出的任何内容。其中一些可能很有用(例如状态消息)。您不会从vim的标准输出中得到有用的结果,因为这部分是转义序列(用于移动光标、更改颜色) 如果可以修改脚本,使其专门处理vim,那么有一个修复方法:修改运行vim的命令,使其重定向到/dev/t

此python脚本还使用子流程运行一些shell命令

subprocess.check_call(arg_list)
<>我突然开始了错误,比如“VIM:警告:输出不到终端”,C++二进制挂起。
最简单的修复方法是什么?

popen调用将读取子进程写入其标准输出的任何内容。其中一些可能很有用(例如状态消息)。您不会从vim的标准输出中得到有用的结果,因为这部分是转义序列(用于移动光标、更改颜色)

如果可以修改脚本,使其专门处理vim,那么有一个修复方法:修改运行vim的命令,使其重定向到
/dev/tty
。这将更改如下所示的命令字符串

vim filename


popen
调用将读取子进程写入其标准输出的任何内容。其中一些可能很有用(例如状态消息)。您不会从vim的标准输出中得到有用的结果,因为这部分是转义序列(用于移动光标、更改颜色)

如果可以修改脚本,使其专门处理vim,那么有一个修复方法:修改运行vim的命令,使其重定向到
/dev/tty
。这将更改如下所示的命令字符串

vim filename

你可以尝试使用

export TERM=vt100
在调用Perl或作为每个Unix子进程中的第一个命令之前。

您可以尝试使用

export TERM=vt100

在调用Perl或作为每个Unix子进程中的第一个命令之前。

我不确定这是如何回答这个问题的。您能解释一下吗?@FDinoff在AIX sed上没有-i选项来更改没有tmp文件的文件。我使用了带有vi的here结构来编辑文件,将stdout/stderr重定向到/dev/null。在Solaris上运行的远程安装脚本在AIX上失败,并显示有关终端的错误消息。在我的例子中,我可以通过添加
TERM=vt100
来解决安装脚本问题,我不确定这是如何回答这个问题的。您能解释一下吗?@FDinoff在AIX sed上没有-i选项来更改没有tmp文件的文件。我使用了带有vi的here结构来编辑文件,将stdout/stderr重定向到/dev/null。在Solaris上运行的远程安装脚本在AIX上失败,并显示有关终端的错误消息。在我的例子中,我可以通过添加
TERM=vt100