ksh - shell 脚本 + 脚本中的一个语法命令用于将错误发送到日志

标签 ksh

我有 test.ksh 脚本

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

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

利达

最佳答案

尝试 exec 2>/tmp/error.log

来自manual :

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

如果 arg 给出, 由指定的命令 参数代替此 shell 执行 无需创建新进程。 这 -c 选项会导致在应用之前清除环境 与相关的变量赋值 执行 调用。 这 -a 选项 原因 姓名 而不是第一个 arg, 成为

argv[0] 对于新流程。 输入/输出参数可能会出现并且 影响当前进程。 如果 arg 没有给出, 该命令的作用是 修改文件描述符 按照输入/输出重定向列表的规定。 在这种情况下, 任何大于 2 的文件描述符编号 使用此机制打开的内容在调用时关闭 另一个程序。

关于ksh - shell 脚本 + 脚本中的一个语法命令用于将错误发送到日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3439540/

相关文章:

linux - 使 shell 脚本在调用它们的位置上变得稳健

arrays - 在 KSH shell 中解析数组?

unix - 如何在 Unix 中找到减去 7 天的当前日期?

ksh 脚本,For 循环

linux - 我无法在文件下面编写正则表达式

linux - bash 数组在命令提示符下工作但在作为 ksh 执行时不工作

unix - 如果 [ $? -ne 0 ] 然后语法错误然后意外

linux - 如何将剪切命令与文本限定符一起使用

unix - 使用 ksh 获取最后五分钟的平均负载和正常运行时间

macos - zsh - 使用默认值读取用户输入 - 空输入不为空?