Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.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
Linux 无法将命令输出重定向到文件(对于后缀状态)_Linux_Bash_Shell - Fatal编程技术网

Linux 无法将命令输出重定向到文件(对于后缀状态)

Linux 无法将命令输出重定向到文件(对于后缀状态),linux,bash,shell,Linux,Bash,Shell,我正在尝试运行以下命令: postfix status > tmp 但是,生成的文件从未写入任何内容,而是将输出发送到终端 我曾尝试在混合中添加以下内容,甚至在重定向输出之前将管道连接到echo,但似乎没有任何效果 postfix status 2>&1 > tmp 其他命令工作正常。它看起来像是写入终端,而不是写入标准输出。我不明白“回声”是什么意思,你是说“猫”是什么意思 我认为您可以始终使用“script”命令,它记录您在终端上看到的所有内容。您将运行“脚本”

我正在尝试运行以下命令:

postfix status > tmp
但是,生成的文件从未写入任何内容,而是将输出发送到终端

我曾尝试在混合中添加以下内容,甚至在重定向输出之前将管道连接到echo,但似乎没有任何效果

postfix status 2>&1 > tmp

其他命令工作正常。

它看起来像是写入终端,而不是写入标准输出。我不明白“回声”是什么意思,你是说“猫”是什么意思


我认为您可以始终使用“script”命令,它记录您在终端上看到的所有内容。您将运行“脚本”,然后运行命令,然后退出。

多亏了另一位SO用户,他删除了他们的答案,所以现在我无法感谢,我走上了正确的轨道。我在这里找到了答案:

因此,对于那些希望能够捕获posfix响应的人,我使用了以下方法

创建一个脚本,使输出转到您希望的地方。我是这样做的:

#!/bin/sh
cat <<EOF | expect 2>&1 
set timeout -1 
spawn postfix status
expect eof 
EOF
#/垃圾箱/垃圾箱
cat file.txt


我在PHP中需要这个,这样我就可以使用exec并实际得到响应。

您能对此进行一点扩展吗?就目前情况而言,这将是对golimar答案的一个很好的评论,但他是解释它的人。script-c'logrotate-d-f/etc/logrotate.conf'-q/tmp/log.txt
script -c 'postfix status' -q tmp