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