我正在尝试使用 函数为 Conky 截断用户名创建一个解决方法top user
。使用id -nu $uid
,我尝试了以下方法:
${exec id -nu ${top uid \1}}
这会导致“错误替换”错误。认为这可能是因为 top 函数发送的是字符串而不是整数,我尝试创建一个 lua 函数:
function conky_uid_to_name(uid)
num = tonumber(conky_parse(uid))
name = conky_parse('${exec id -nu ${num}}')
return name
end
但这也永远不起作用,因为我无法让解析器看到我的变量。如何将变量发送到name
Conky 正确解析的变量?我确信有一种更简单的方法可以做到这一点,但我没有找到很多 lua 示例,而且他们的文档也严重缺乏。
答案1
如果您不使用模板,那么您可以在顶部提供其结果后使用 eval 重新解析 exec:
${eval $${exec id -nu ${top uid 1}}}
请注意,$$
停止正在运行的 exec,但${
top 允许其运行。