linux - 基本程序输出重定向在 CentOS V.2.16.0 版本 5.8 中不起作用

标签 linux shell redirect centos csh

通常,当我重定向从 C Shell 脚本运行的程序的输出时,>>& 都可以工作,但这些不适用于 CentOS v.2.16.0 版本 5.8(最终)Gnome 桌面中的日志文件的基本输出重定向。

当我尝试在 C shell 脚本中使用 >>& 将程序输出重定向到文本/日志文件时,我得到了一个空的(空白)日志文件。是否正在进行某种缓冲,或者为什么当我在 C Shell 脚本中使用它时它不起作用?

郑重声明,>& 在命令提示符/控制台上确实可以正常工作,但同样的语法在我的 C Shell 脚本中不起作用。有什么解决办法吗?我已经尝试过 cattee1>&2>&1 及其输出重定向的每种变体,但没有任何程序将输出获取到我的 C Shell 脚本中的文本日志文件中。

(请不要讲“你为什么使用 C Shell”。)

最佳答案

我知道这已经很旧了,但我必须通过将两者分开来使其工作

ls / 2> /dev/null 1> /dev/null

为了测试这是否有效,我回显了退出代码。

ls /dir/doesnt/exisst 2> /dev/null 1> /dev/null && echo $0
ls / 2> /dev/null 1> /dev/null && echo $0

关于linux - 基本程序输出重定向在 CentOS V.2.16.0 版本 5.8 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19328493/

相关文章:

linux - zypper install rpm 并查看执行的命令(非常详细?)

linux - cmake include_directories 命令之后/之前

php - 上传的 PHP 脚本不刷新

json 格式化一行中的每个对象

linux - 合并来自不同文件的列

javascript - 在 if 语句中排除所有其他事件 ID

linux - 有没有类似cpanel的开源软件?

PHP 返回在二进制文件执行中找不到

java - 主机上有多个 tomcat,如何重定向请求以便客户端只知道一个 tomcat

debugging - 如何记录 ssh 调试信息?