外部コマンドでConky変数を使用する方法は?

外部コマンドでConky変数を使用する方法は?

Conkyが関数を使用してユーザー名を切り捨てる回避策を作成しようとしていますtop user。を使用してid -nu $uid次のことを試しました。

${exec id -nu ${top uid \1}}

これにより、「無効な置換」エラーが発生します。私はトップレベルの関数が整数の代わりに文字列を送るからかもしれないと考えて、Lua関数を作ってみました。

function conky_uid_to_name(uid)
    num = tonumber(conky_parse(uid))
    name = conky_parse('${exec id -nu ${num}}')
    return name
end

しかし、これはパーサーが私の変数を見ることができないので、決して機能しません。nameConkyが正しく解析する変数に変数を送信するにはどうすればよいですか?これを行うより簡単な方法があると確信していますが、Luaの例はあまり見つかりませんでした。

答え1

テンプレートを使用していない場合は、上部に結果を提供してからevalを使用してexecを再分析できます。

${eval $${exec id -nu ${top uid 1}}}

実行中のexecは$$停止しますが、${topは実行が許可されます。

関連情報