该手册页中措辞含糊:
-f file Log the specified file.
Run Code Online (Sandbox Code Playgroud)
手册页中有一个示例,没有进一步解释:
logger -p local0.notice -t HOSTIDM -f /dev/idmc
Run Code Online (Sandbox Code Playgroud)
POSIX没有帮助:
记录器实用程序以未指定的方式和格式保存一条消息,其中包含用户提供的字符串操作数。预计这些消息稍后将由执行系统管理任务的人员进行评估。
我希望它记录:
但是,如果我执行以下操作:
$ echo "contents" > testfile
$ logger -f ./testfile "test message"
$ cat testfile
contents
$ tail /var/log/messages
Aug 4 10:00:00 hostname logger: test message
Run Code Online (Sandbox Code Playgroud)
我与“testfile”或其内容无关,其内容也没有改变。如果testfile在我发出logger命令之前不存在,我会收到此错误消息:
记录器:./testfile:没有这样的文件或目录。
什么是logger -f应该做的?
在GNU文档更清晰一点,并为进一步的测试的提示:
-f file
--file=file
记录指定文件的内容。如果文件是“-”,则假定为标准输入。
事实证明,指定消息会覆盖文件的规范。
所以这有效:
logger -f testfile
Run Code Online (Sandbox Code Playgroud)
并将文件的内容记录到日志文件中。如果文件由多行组成,则每一行都成为日志中的一个单独条目。
| 归档时间: |
|
| 查看次数: |
3724 次 |
| 最近记录: |