我在我的机器上运行tcsh/csh shell。最近我意识到我的stderr文件重定向不起作用。stderr重定向方法
请找到终端记录如下:
>echo b c >>& log
>cat log
b c
>echo $a b c >>& log
a: Undefined variable.
>cat log
b c
我从来没有遇到这样的问题,因此不知道如何调试或排除故障。 请指教!
改变方向的重定向是使用三通。 当我使用> &或>> &,我完全阻止任何输出显示在终端上。 有没有一种方法可以同时做到这一点,即:对于每个语句
a)将stdout + stderr指向文件。
B)显示标准输出+标准错误的终端
我需要确认,如果我可以用这样的(如下图),以满足我的要求
>csh ./script_name | tee -a log
在我的情况下,它仅会指示标准输出记录文件并阻止stderr。
我不知道如何检查。 从我所了解的情况来看,即使解释是为$ a完成的,它也不应该停止执行,而应该指示stdout + stderr来记录文件。 – Ani 2012-02-24 06:47:01
@Ani,你可以像我一样,通过强制重定向首先发生_then_进行扩展,la'(echo $ a)>>&log'来检查它。我已经更详细地更新了答案。 – paxdiablo 2012-02-24 07:05:50
感谢您的回复,这让我更清楚地知道如何执行语句。 – Ani 2012-02-24 07:31:32