shell脚本+脚本中的单个语法命令将错误发送到日志

时间:2010-08-09 11:31:59

标签: ksh

我有test.ksh脚本

我的问题是,是否可以在脚本的第一个脚本中定义所有标准错误将转到/tmp/errlog文件以便在每个命令之后放置2>/tmp/errlog

第二个不建议将./test.ksh 2>/tmp/errlog置于不相关的选项

利达

1 个答案:

答案 0 :(得分:3)

尝试exec 2> /tmp/error.log

来自manual

exec [ -c ] [ -a 名称] [ arg 。 。 。 ]

如果 ARG 给出, 由...指定的命令 执行参数代替这个shell 没有创建新流程。 该 的 -c 选项导致在应用之前清除环境 与...相关的变量赋值 的 EXEC 调用。 该 的 -a 选项 原因 名称 而不是第一个 ARG , 成为

<强>的argv [0] 对于新的过程。 输入/输出参数可能会出现和 影响当前的过程。 如果 ARG 没有给出, 这个命令的作用是 修改文件描述符 由输入/输出重定向列表规定。 在这种情况下, 任何大于2的文件描述符号 在调用时关闭此机制打开 另一个程序。