我正在尝试使用 cursor 选项在指定时间后从 journalctl 获取日志。下面是脚本文件中的代码。
value=$( journalctl -n 0 --show-cursor | tail -1 | cut -f2- -d: | sed 's/ /"/;s/$/"/')
echo "$value"
sleep 20
echo "journalctl --after-cursor=$value"
journalctl --after-cursor=$value
这个脚本文件的输出是
"s=3057f92d5b3e4afdb5eb91c22e880074;i=1f646;b=0bc7e6e9f16f4847b2d50e0a0dd31023;m=a10d4c4d1;
t=5bba8ac2477ae;x=1cc1645fed6ffc79"
journalctl --after-cursor="s=3057f92d5b3e4afdb5eb91c22e880074;i=1f646;
b=0bc7e6e9f16f4847b2d50e0a0dd31023;m=a10d4c4d1;t=5bba8ac2477ae;x=1cc1645fed6ffc79"
Failed to seek to cursor: Invalid argument
正如我们在上面看到的journalctl --after-cursor 导致 "Failed to seek cursor error"。
但是,如果在命令行终端中执行相同的操作,则 --after-cursor 会给出输出。
在 shell 脚本中使用 after-cursor 选项调用 journalctl 之前需要做些什么吗?