【发布时间】:2019-03-20 00:56:29
【问题描述】:
如果给出以下示例命令,是否可以打印用于重定向 STDERR 的文件名:
command.sh 2>file.err
command.sh 中的代码:
#!/bin/sh
ls -l non_existing_file.txt
echo "STDERR file is: $stderrFilename" # variable should print file.err
【问题讨论】:
-
见
lsof命令;您正在寻找与当前进程的文件描述符 2 关联的文件。 -
谢谢,但没有安装 lsof。
-
(这是有实际原因,还是只是学术问题?)
-
@LorinczyZsigmond,既有学术性又有实际原因。我有一个通用脚本,可以读取任何人都可以使用的文件,但标准错误文件名可以由他们决定。文件名将附加到日志文件中。希望我的意图足够清楚:)
-
这样的日志文件有什么用处?假设您有很多条目,例如
/dev/pts/3和/tmp/err.172923和/home/joe/check-and-remove.log,那么您打算如何处理它们?